用BeautifulSoup+requests+pyecharts爬取中国天气网,找到气温最高的前十城市,并进行数据的可视化。

本文档介绍如何利用BeautifulSoup进行网页抓取,从中国天气网上获取各城市的气温信息,然后使用pyecharts进行数据可视化,展示气温最高的前十大城市。首先解析网页,定位到包含城市信息的节点,接着遍历数据,剔除无效项,存储每个城市的最高温度。最后通过pyecharts创建直方图进行可视化,提供了一种简单的数据呈现方式。

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

目标网站:http://www.weather.com.cn/textFC/hb.shtml
我重点分析解析网页这个部分,请求网页这个模块就跳过吧。
打开浏览器的检查,找到我们想要的数据所存放的节点。
在这里插入图片描述

可以发现,这张网页的所有省份里面的城市信息是存放在(div class =‘conMidtab’)这个节点里面
可以用BeautiSoup来定位到这个节点假设我们已经获取了网页的文本信息并存放在html这个变量里面。

#解析网页我之所以用html5lib主要是因为在港澳台的天气网页中,网页代码不规范没有table的闭合标签
#html5lib的容错能力是最强的
soup = BeautifulSoup(html,'html5lib')
#直接定位到所有省份天气的节点。
conMidtab = soup.find('div',class='conMidtab')

继续检查找到一个省份的数据信息存放的节点,发现信息的存放在table这个标签里面
在这里插入图片描述
因为div class=conMidtab这个节点里面存放了所有省份的天气信息,现在我们要定位在一个省份的信息

tables = conMidtab.find_all('table')

继续检查,找到一个city的信息。
在这里插入图片描述
city信息是放在table下面的tr标签中,但是前面两个tr标签并没有存放信息,所以在进行遍历的时候我们要把前面两个tr用切片去掉。
在这里插入图片描述

for table in tables:
  trs = table.find_all('tr')[2:]  

然后我们来分析table下面的第三个tr,城市天气信息是放在每一个td中的。但是tr下面的第一个td存放的是一个省份名称。我们用河北省来分析,因为北京市和北京城市是同名的

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值