excel抓取多页网页数据(Excel和python的异同点,你知道几个?(上))
优采云 发布时间: 2021-09-26 09:31excel抓取多页网页数据(Excel和python的异同点,你知道几个?(上))
大家好~
Excel和python是目前比较流行的两种数据分析处理工具,两者有很多共同点,也有很大的不同。
今天我们就来看看爬取网页数据。两者有什么相同点和不同点。
上图为证监会相关信息。我们需要提取其中的表格数据,分别使用Excel和python。
电子表格
Excel 提供了两种获取网页数据的方法。第一个是 data-self-网站 函数,第二个是 Power Query。
方法一
首先点击【数据】—【来自网站】,如下图:
在弹出的界面中,输入获取的URL后,点击“Go”,然后点击“Import”。
程序运行几秒钟后(需要一定的时间),网页数据被捕获到Excel中。
不太理想的是,这种方法 Excel 捕获了网页上的所有文本,包括不相关的数据。下图中上方的文字需要手动删除。
方法二
Power Query 自带 Excel2016 及以上版本。低于 16 的版本需要手动下载和安装 Power Query。
点击【数据】-【新建查询】-【来自其他来源】-【来自网页】,在弹出的界面中输入网址,点击确定。
然后将网页上的表格加载到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。你怎么认为?