没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本文研究的主要是Python爬虫天气预报的相关内容,具体介绍如下。 这次要爬的站点是这个:http://www.weather.com.cn/forecast/ 要求是把你所在城市过去一年的历史数据爬出来。 分析网站 首先来到目标数据的网页 http://www.weather.com.cn/weather40d/101280701.shtml 我们可以看到,我们需要的天气数据都是放在图表上的,在切换月份的时候,发现只有部分页面刷新了,就是天气数据的那块,而URL没有变化。 这是因为网页前端使用了JS异步加载的技术,更新时不用加载整个页面,从而提升了网页的加载速度。 对于这种非静态页面,
资源推荐
资源详情
资源评论
Python爬虫天气预报实例详解(小白入门)爬虫天气预报实例详解(小白入门)
本文研究的主要是Python爬虫天气预报的相关内容,具体介绍如下。
这次要爬的站点是这个:http://www.weather.com.cn/forecast/
要求是把你所在城市过去一年的历史数据爬出来。
分析网站分析网站
首先来到目标数据的网页 http://www.weather.com.cn/weather40d/101280701.shtml
我们可以看到,我们需要的天气数据都是放在图表上的,在切换月份的时候,发现只有部分页面刷新了,就是天气数据的那块,而URL没有变化。
这是因为网页前端使用了JS异步加载的技术,更新时不用加载整个页面,从而提升了网页的加载速度。
对于这种非静态页面,我们在请求数据时,就不能简单的通过替换URL来请求不同的页面。
着眼点要放在Network,观察整个请求的过程,从中寻找突破口。
老规矩按下F12 > network,切换下页面,发现多了一些东西,这就是切换月份,浏览器发出的请求,可以很清楚的看到请求头和请求参数。
再来看看Response是怎样的吧
真是没想到,返回的居然是json格式的天气数据!直接做 json 反序化就能变成字典的形式,省掉了我们解析 html 的麻烦呀。既然找到了数据所在的地方,就可以开始尝试构建
请求了。
构建请求构建请求
先直接copy上面的Request URL,试下请求。http://d1.weather.com.cn/calendar_new/2017/101280701_201706.html?_=1495720234075
然后发现报错了,先把请求头全部满上怼进去,发现可以正常的响应。
但是我们还要分析下到底哪个参数不对出了问题。经过尝试,发现请求头里的Referer的原因,去掉就会报错。
这是因为这是浏览器发出请求时,会通过Referer告诉服务器我是从哪个页面链接过来的,有些网站会对这个做验证,主要时为了防止别人盗链的问题。
这个中国天气网,就是验证了Referer里的域名是不是自己的,不是的话就会403禁止访问服务器。
接下来就要考虑怎么请求不同月份的数据。
通过观察URL,发现其实很简单,直接替换年月,就可以循环抓取,得到整年的数据。
资源评论
- 色空空色2023-07-25教程循序渐进,由浅入深,适合初学者学习。
- 申增浩2023-07-25作者使用简洁清晰的语言,让我轻松理解了天气预报爬取的原理。
- 艾苛尔2023-07-25这份教程帮助我快速入门Python爬虫,非常实用。
- 是因为太久2023-07-25教程配有详细的代码解析,让我可以更好地理解和运用这个实例。
- 思想假2023-07-25平实的讲解方式,让我感受到了编程的乐趣,谢谢作者的分享。
weixin_38681286
- 粉丝: 1
- 资源: 898
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功