Selenium+ChromeDriver获取页面数据

cnblogs 2024-07-04 16:09:00 阅读 80

一个业务需求是从一个网站上抓取客户的评论信息,评论数据已经渲染好在html上由接口返回的,只能从HTML上一个个扣数据。一开始是使用的HtmlUnit来处理,但期间一直抛出拒绝访问提示

但是从浏览器可以直接访问,我就换别的网站进行访问,别的网站能够正常抓取数据,期间也试过设置请求头,直到在调试时偶然抛出不一样的错误at script.M(https://challenges.cloudflare.com/turnstile/v0/g/d2a97f6b6ec9/api.js?onload=KHGO2&render=explicit:1)没截到图,搜了才发现该网站使用了cloudflare的人机检查,猜想HtmlUnit可能不是真正的请求,而是模拟的请求所以被cloudflare拦了下来。所以换了Selenium来处理

Selenium不能单独使用,需要和不同浏览器的Driver来配合使用,我使用的是ChromeDriver

1.下载Chrome和对应版本的ChromeDriver

Chrome版本和ChromeDriver版本要对手不让回抛出错误

我的chrome是126的版本

chromeDriver就也需要下载126版本 114及114之前的版本可以从这下载

http://chromedriver.storage.googleapis.com/index.html

最新版本需要到这下载

https://googlechromelabs.github.io/chrome-for-testing/

2.添加selenium依赖

3.访问页面

相关代码

还是抛出403 禁止访问

将selenium依赖升级到4.10 访问成功



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。