网页表格抓取( 小五书接上文,教你用Pandas将Excel转为html格式)

优采云 发布时间: 2022-01-20 01:12

  网页表格抓取(

小五书接上文,教你用Pandas将Excel转为html格式)

  最简单的爬虫:用 Pandas 爬取表格数据

  

  图纸集2021-08-05

  大家好,我是小武

  书上接续,我们可以使用Pandas将Excel转成html格式,在文末说了也是对应它的神器!

  PS:大家也很乐于助人。我点了30个赞。小舞连忙安排。

  最简单的爬虫:用 Pandas 爬取表格数据

  有一件事要说,我们不得不承认,用 Pandas 爬取表格数据有一定的局限性。

  只适合爬Table数据,那我们先看看什么样的网页满足条件?

  什么样的网页结构?

  用浏览器打开一个网页,用F12检查它的HTML结构,你会发现合格的网页结构有一个共同的特点。

  如果你发现 HTML 结构是下面的 Table 格式,你可以直接使用 Pandas。

  这看起来不直观,打开了北京地区的空气质量网站。

  F12,左侧是网页中的质量指标表,其网页结构完美符合表格数据网页结构。

  

  非常适合和熊猫一起爬行。

  pd.read_html()

  Pandas 提供了两个函数用于读取和写入 html 格式的文件。这两个功能非常有用。一种很容易将复杂的数据结构(例如 DataFrames)转换为 HTML 表格;另一种不需要复杂的爬虫,只需要几行代码就可以抓取Table表数据,简直就是神器![1]

  具体参数可以查看其官方文档:

  就拿刚才的网站开始吧!

  这里只添加了几个参数,就是指定列标题的行。使用指南包,只需要两行代码。

  

  对比结果,可以看到成功获取到表格数据。

  

  多种形式

  最后一种情况,不知道有没有朋友注意到

  得到网页的结果后,也加了一个[0]。这是因为网页上可能有多个表格。在这种情况下,需要列表的切片来指定要获取哪个表。

  比如之前的网站,空气质量排名网页显然是由两个表格组成的。

  

  这时候如果用它来获取右边的表格,只需要稍微修改一下即可。

  对比一下,可以看到网页右侧的表格是成功获取的。

  

  以上是用来简单爬取静态网页的。但我们之所以使用Python,其实是为了提高效率。但是,如果只有一个网页,用鼠标选择和复制不是更容易吗?所以Python操作的最大优势将体现在批处理操作上。

  批量爬取

  让我教你如何使用 Pandas 批量抓取 web 表格数据

  以新浪金融机构持股汇总数据为例:

  

  一共47个页面,通过for循环构造47个网页url,然后循环爬取。

  还是几行代码,很容易解决。

  

  共获得47页1738条数据。

  通过以上的小案例,相信大家可以轻松掌握Pandas的批量爬表数据。

  参考

  [1]

  Python读运:天修!Pandas 可以用来写爬虫吗?

  人生苦短,学不了Python

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线