【Excel与Python爬取数据,两者PK,谁优谁劣?】小伙伴们大家好~
Excel和python作为当前两款比较火的数据分析处理工具,两者之间有很多共性也有很大的区别 。
今天一起来看下在抓取网页数据这块,两者有什么异同点 。

上图中是中国证券监督管理委员会中沪市IPO公司的相关信息,我们需要提取其中的表格数据,分别利用Excel与python 。
Excel
Excel提供两种获取网页数据的方法,第一种是 数据—自网站功能,第二种是Power Query 。方法一
首先,点击【数据】—【自网站】 , 如下图所示:

在弹出的界面中,输入抓取的网址之后,点击“转到”,接着点击“导入” 。

程序运行数秒(需要一定时间) , 网页数据就被抓取到Excel中来 。
不理想的是,这个方法Excel将网页上的所有文字都抓取了下来,包括无关紧要的数据,如下图上部文字,需要手动删除 。

方法二
Excel2016及其以上版本自带Power Query,16以下版本需要手动下载Power Query并安装 。
依次点击【数据】—【新建查询】—【从其它源】—【从Web】,在弹出的界面中输入网址,点击确定 。

接着网页中的表格就被被加载到Power Query中,双击table 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 也支持多页面数据的获取,但是效率极低地下,耗时较久 , 这里不做展示,感兴趣的小伙伴可以自己研究下 。
