excel抓取多页网页数据(Excel和python的异同点,你知道几个?(上))
优采云 发布时间: 2022-01-27 16:09excel抓取多页网页数据(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的。你怎么认为?