python3用re正则表达式爬虫中国天气网未来8-15天天气数据

新手转专业学生,导师突然安排个小活,爬取100多个城市的未来15天天气数据。

网页上有一些爬取7天的案例,通过学习也不是很难。

这里推荐几个我认为做的很详细的链接,大家可以去学习(热心地帮助大家节省时间)

https://blog.csdn.net/heshushun/article/details/77772408

http://blog.sina.com.cn/s/blog_132d8ac0d0102wmpl.html

我的这篇文章在这些前辈无私分享的基础上完成的,感恩。


一、获取URL,分析网页源码

这里给大家两种方法。

①登录到中国天气网网页(以北京为例:http://www.weather.com.cn/weather15d/101010100.shtml)


界面如上图。按F12会屏幕下方出现源码,然后在8-15天天气位置右键,点击审查元素,或者ctrl+shift+l。



②通过urllib命令request命令

参考代码:

# -*- coding: UTF-8 -*-
from urllib import request

if __name__ == "__main__":
    response = request.urlopen("http://www.weather.com.cn/weather15d/101010100.shtml")
    html = response.read()
    html = html.decode("utf-8")
    print(html)

可以在pycharm或者sublime运行直接出结果。为了查看方便,我把8-15天天气部分拷贝到了有道云笔记


这里的源码格式还算整齐,与7天天气只是些许的标签不同,头疼的就是气温那里,最低气温部分少标签

<span class="tem"><em>29℃</em>/17℃</span>

二、爬取数据

一个小白摸索了很长时间,没找到很好的方法,最后还请教了计算机系好友——用正则表达式方法。

网页上关于正则表达式的科普文章千篇一律,在我看来纸上谈兵没什么意思,大家学习时可以找一些有实践应用例子的帖子。

这里我参考的文章链接:https://www.jianshu.com/p/d1bf2f0bdc51

文章的处理细节不是很精细,需要弄清爬虫的框架进行一些调整,新手宝宝不要完全照抄。

def get_data2(html, city):
    soup = BeautifulSoup(html, 'html.parser')  
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值