selenium - 在 Selenium 中设置用户代理
问题描述
我正在使用 Windows 7 机器上的 Firefox 使用 Selenium 抓取房屋租赁列表,并且在我有三个页面要遍历的网站上遇到了验证码。一些搜索告诉我,为了避免检测到,我必须实施的众多技术之一是更改每个请求的用户代理。
我在最近五个月前发布的 stackoverflow 上发现了 Python 代码,用于使用以下用户代理字符串在 Google Chrome 中执行相同的操作:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36
但是,如果我从桌面上的 Firefox 访问https://www.whatsmyua.info/,我会看到用户代理字符串是:
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0
如果我使用 Tor 浏览器做同样的事情,我会得到:
Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0
这两个用户代理字符串根本不像 Python 风格的代码!
将 Windows、AppleWebKit、Chrome 和 Safari 引用到用户代理字符串中会不会明显提示机器人检测器这不是普通的浏览器访问?
解决方案
推荐阅读
- android - 使用存储库模式在后台处理蓝牙流的最佳方法是什么?
- python - Django 在两个不同的视图中创建类的实例不起作用
- python - 如何修复来自 Google Analytics 用户删除 API 的 403:insufficient authentication scopes 错误
- git - 在所有存储库中复制 .git/config 文件
- java - 通过rest api插入操作Hibernate
- xml - 两个不同的 POJO 编组到一个 XML
- swift - On Appear 仅适用于第一个实例...我该如何更改
- java - JPA - 初始化的惰性关系不起作用
- excel - 使用 for 循环和范围的自定义 VBA 函数
- vba - 如何在不使用选择对象的情况下替换嵌套表上方的句子