excel抓取多页网页数据(Excel和python的异同点,你知道几个?(上))
优采云 发布时间: 2021-12-25 13:03excel抓取多页网页数据(Excel和python的异同点,你知道几个?(上))
大家好~
Excel和python是目前比较流行的两种数据分析处理工具,两者有很多共同点,也有很大的不同。
今天我们就来看看爬取网页数据。两者有哪些相同点和不同点。
上图为证监会上海IPO公司相关信息。我们需要提取表格数据,分别使用Excel和python。
电子表格
Excel提供了两种获取网页数据的方法,第一种是数据——来自网站功能,第二种是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。你怎么认为?