selenium通过driver.page_source获取网页源代码不完整的完全获取方法,以企查查企业页面为例

应用场景假设:做研究分析时需要对一批企业的各种维度字段进行分析,企查查会员本身是提供导出功能的,但哪怕是svip,导出的字段也不全,这种时候只用手动在企业页面里采集时,耗时巨大,所以考虑用脚本自动采集(前提假设已有企查查svip帐号)。

最简单的脚本采集是request请求,这类请求只适合小网站,大一点的平台都会屏蔽,哪怕headers里加一堆参数,可以直接不考虑。

然后就是selenium的模拟浏览器打开了,大部分网站都可以模拟,这里通过selenium的driver.get打开企业详情网页,再用driver.page_source就可以获取到。

但是,通过浏览器里对企业详情网页就行查看源代码发现,html标签内的数据少,提取麻烦,反而是网页源代码最末尾有企业详细接口返回数据,按理说这类接口是单独作为接口来请求返回,但该平台把其作为js执行结果嵌入了企业详情页的html,同时!这段嵌入的接口返回数据只能在浏览器里查看源代码发现,用driver.page_source获取的源代码是这段返回数据的。

所以有这么一类网站,有js加载嵌入结果到html中的信息,是用driver.page_source获取不到的,那么这类完全的html要怎么获取?答案是seleniumwire。

 driver.get(url)
 # 获取请求数据
 for request in driver.requests:
   if (str)(request.url).find("请求地址")>=0:
     res = request.response.body   

核心就是就是seleniumwire的这个方法,不同于driver.page_source,可以更好获取完整的页面数据。

就这几句就可以,基础不好的有偿咨询。


接数据采集、数据治理、业务办公自动化、计算机问题处理等服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yyqfyyqf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值