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

本文介绍了如何使用Python3的re正则表达式爬取中国天气网的未来8-15天天气数据。文章适合初学者,详细讲解了从分析网页源码、获取URL、使用正则表达式爬取数据,到保存数据和实现多城市数据爬取的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

https://blog.youkuaiyun.com/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')  # 创建BeautifulSoup对象
    articles = []
    for article in soup.find_all(class_='c15d'):
        li = article.find_all('li')
        
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值