爬虫抓取网页数据(用到修改excel的过程是什么?如何解决每天发日报繁琐问题)
优采云 发布时间: 2021-10-30 17:13爬虫抓取网页数据(用到修改excel的过程是什么?如何解决每天发日报繁琐问题)
最近,我在一家杀毒软件公司实习。主管得知我会丢那么多爬虫后,就让我解决每天出版报纸的繁琐问题。于是,我就用我学了一天的爬虫(我学了一天的爬虫教程)开始工作了。
主要需求是从N个广告主的每日广告收入网页中提取所需数据并保存为excel。并将保存的数据按照固定的日报表格式填入日报表模板中。
一开始,拿到爬取的N多条广告数据后,想到用python处理写excel,但是xlwt和xlrd库只用xls格式,模板是xlsx格式(python修改excel的过程)就是:将python中的原创数据copy一份到操作内存中,然后修改内存中的副本,然后将副本保存在内存中,如果原表中有公式,则只复制内存中的副本按值,所以会造成很多麻烦)。后来经过沟通,将爬取到的数据汇总成一个excel,再用excel中的VBA编程将汇总的数据写入日报表模板中。
使用的 Python 库
1、bs4:解析网页,读取网页中的元素
2、selenium:模拟真实浏览器自动运行(这里使用Chrome浏览器,需要对应版本的chromedriver)
3、xlwt:excel编写的相关库
4、xlrd:excel读取的相关库
5、xlutils:复制读取的excel,修改后保存
如下两图所示效果如下:
图1
图2
日报宏程序就是将图1中的日报data_total写入日报模板中。此代码涉及在VBA模式下在不同工作簿的工作表之间进行复制,以及在VBA模式下实现excel公式并将它们写入相应的单元格。
宏界面目前几乎如下图3所示,基本满足了目前的需求。
图 3
对应的VBA代码位于下图中4、5处(图中编码了广告源的变量名,图5中的代码没有截断)
图 4
图 5
后续6、7网站需要写一个爬虫,然后一起写进日报模板。
python代码部分,有时间我贴一下,以后再解释。