之前逛论坛,突然看到一个很有意思的爬虫,就是利用Pandas里的read_html爬取网页中table。
我们看到这个网址有很多地区的天气,看起来很像是表格形式,那我们就进一步去验证是否是表格。如下图,我们先打开检查(F12),点击1,然后点击2的地方,找到表格所在,但现在依然是div,不是table,再继续点击展开div,最后找到了table,说明这个是table,那我们就可以爬取表格了。
现在开始进行爬虫
import pandas as pd #导入相关库
# 找到自己想要的网页表格网址
url='http://www.weather.com.cn/textFC/hb.shtml'
df = pd.read_html(url)[0]
# 若是只保存这一个 df.to_csv('路径')
Out[3]:
0 1 2 ... 6 7 8
0 省/直辖市 城市 周三(5月13日)白天 ... 周三(5月13日)夜间 周三(5月13日)夜间 NaN
1 省/直辖市 城市 天气现象 ... 风向风力 最低气温 NaN
2 北京 北京 晴 ... 南风 <3级 18 详情
3 北京 海淀 晴 ... 南风 3-4级 18 详情
4 北京 朝阳 晴 ... 南风 3-4级 19 详情
5 北京 顺义 晴 ... 南风 <3级 20 详情
6 北京 怀柔 晴 ... 南风 <3级 17 详情
7 北京 通州