excel抓取多页网页数据(Excel和python的异同点,你知道几个?(上))

优采云 发布时间: 2022-01-27 16:09

  excel抓取多页网页数据(Excel和python的异同点,你知道几个?(上))

  大家好~

  Excel和python是目前流行的两种数据分析处理工具。两者有很多共同点,也有很大的不同。

  今天,我们就来看看两者在抓取网页数据方面的异同。

  

  上图为证监会相关信息。我们需要提取其中的表格数据,分别使用Excel和python。

  Excel

  Excel提供了两种获取网页数据的方法,第一种是data-self网站函数,第二种是Power Query。

  方法一

  首先点击【数据】-【来自网站】,如下图:

  

  在弹出的界面中,输入抓取的网址后,点击“开始”,然后点击“导入”。

  

  程序运行几秒钟(需要一定的时间),网页数据被捕获到 Excel 中。

  可惜这个方法Excel抓取了网页上的所有文字,包括不相关的数据,比如下图上半部分的文字,需要手动删除。

  

  方法二

  Excel 2016及以上版本自带Power Query,16以下版本需要手动下载安装Power Query。

  点击【数据】-【新建查询】-【来自其他来源】-【来自Web】,在弹出的界面输入网址,点击确定。

  

  然后将网页中的表格加载到Power Query中,双击表格0,点击“关闭并上传”,完整的数据表格加载到Excel表格中。

  

  该方法与第一种方法的不同之处在于:

  第一种方法直接将网页内容以文本的形式复制到Excel中。第二种方法是使用动态链接。如果原网页表的值发生变化,只需要刷新查询,Excel中的数据就会相应刷新。不需要二次采集,在效率上第二种方法比第一种要好。

  Python

  从铺天盖地的广告中,我们可以看出 Python 目前的流行程度。作为一门编程语言,它比Java、C、C++等其他语言要简单得多,也更容易上手。此外,语言兼容性也很高。,代码简洁优雅。

  如果使用python爬取上面的网页,只需要三行代码,如下图所示:

  

  没有BS4、xpath等网页解析方式,Pandas提供了read_html的功能,可以直接获取网页数据。

  与Excel相比,python的优势在于效率和方便。

  多页数据采集

  以上只限于抓取一个网页单表的数据,那么如何获取网页多页的数据呢?

  下图一共有50个翻页,如果都抓到了?

  

  在获取之前,需要对网页进行简单的分析,即找出每个网页之间的规则:

  

  观察前几页,可以发现每一页唯一的区别就是数字标签,在上图中用红色数字标注。

  弄清楚规则后,使用循环依次爬取50页数据。

  

  与单个网页的爬取不同,这里增加了一个for循环,同时增加了程序的运行时间。可以发现python爬取50个页面需要0.36分钟(约21秒)。其实 Excel Power Query 也支持多页数据的获取,但是效率极低,耗时较长。这里不会显示。有兴趣的小伙伴可以自行研究。

  概括

  不同的软件,不同的使用场景,可以说python在爬取网页方面的优势要大于Excel,但是Excel的灵活性却是超越了python的。你怎么认为?

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线