一、介绍read_html()函数
喜欢Python编程的小伙伴你知道吗,python的pandas库除了可以做数据分析,还可以做简易爬虫,仅需一行核心代码,就可以实现一个爬虫程序,轻轻松松爬取网页数据!
它就是pandas库的read_html()函数,实现python爬虫可以说是非常方便了。
这里需要说明的是,它只能针对网页上有<table></table>标签的表格数据进行爬取。
二、分析爬取目标页面
这里,我爬取的目标网址是:上海市天气预报_上海市10天天气预报
开发者模式 确实是有<table>标签的表格数据。那就好办了,开始撸代码!
三、代码讲解
代码总共3行,核心代码就1行:
import pandas as pd # 导入库
url = 'http://weather.sina.com.cn/china/shanghaishi/' # 目标网址(含有<table>的表格)
df = pd.read_html(url)[1] # 开始爬取目标网站
这样短短3行代码,数据就爬取下来了。看一下爬下来的数据:
爬取结果
没问题,和原页面数据完全一致!后面在用pd.to_excel()把数据保存下来就OK了。
超级简单、强大有没有!
这里附上read_html()函数官网参数说明,供小伙伴参考:(贴心的我已经翻译成中文了)
read_html参数说明.png再次强调一遍,它只能针对网页上有<table></table>标签的表格数据进行爬取。
如果页面上没有<table>标签,用这个方法爬取的话,会提示"No tables found"的报错:
报错这是我用ipython界面截的图,用其他IDE也会这样报错的!
四、同步输出
视频讲解:
https://www.zhihu.com/zvideo/1453335123068891136
同步文章:
https://zhuanlan.zhihu.com/p/445464339
by 马哥python说
网友评论