加入收藏 | 设为首页 | 会员中心 | 我要投稿 南平站长网 (https://www.0599zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

Python命令行实现—查全国7天天气

发布时间:2020-03-10 18:12:43 所属栏目:资源 来源:站长网
导读:为什么要爬天气呢?1.可以练练手2.利用itchat库实现自动回复功能后,把查天气的功能集成起来,实现微信自助查天气功能! 首先,还是相似的套路,我们看看能不能在官网上直接抓包(XHR)来获取一个通用API。然后直接用API查询就OK?在 百度 搜关键词【天气】或者
  为什么要爬天气呢?1.可以练练手2.利用itchat库实现自动回复功能后,把查天气的功能集成起来,实现微信自助查天气功能!  首先,还是相似的套路,我们看看能不能在官网上直接抓包(XHR)来获取一个通用API。然后直接用API查询就OK?在百度搜关键词【天气】或者【南京天气】会跳出对应的网页:http://www.weather.com.cn/weather/101190101.shtml.点进去,可以看到相应城市下一周的天气情况: Python命令行实现—查全国7天天气  再换一个城市上海,我们发现,浏览器地址变为:http://www.weather.com.cn/weather/101020100.shtml。原来101020100这串数字对应着相应城市的代码。我们来分析下页面上XHR请求,看看有没有直接抓包的可能?  经过谷歌浏览器——检查-Networt-XHR-刷新,发现并没有XHR请求,看来我们需要的天气内容和城市代码,可能是包含在页面中经过JS和服务器处理后呈现的.....好吧,尝试失败!  再看一下JS请求,发现太多了,无力去逐一查看!所幸网上有人早已记录下了所有城市对应的城市代码。我把拷贝了一下,存到了本地mysql,数据在百度云上,需要的可以自行下载下,执行SQL即可直接把SQL表和数据一并建好。https://pan.baidu.com/s/1kXaN2Aj 密码是:8y6n。  好了,准备工作做完了,现在思路就很清楚了,全国城市和代码都有了,我们查某个城市的天气,只需要输入城市,就可以从mysql里获取对应的城市代码如:101020100,然后构造相应的url:http://www.weather.com.cn/weather/101190101.shtml就可以查看到对应城市的7天天气了,然而,页面并没有XHR和直接可用的json数据,那我们只能自己动手了——分析网页内容,动手写正则表达式/beautifulSoup/Xpath来提取页面信息,具体内容在此就不赘述了,详见代码就好:  代码运行效果如下:  Python命令行实现—查全国7天天气

(编辑:南平站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读