selenium爬虫被检测到 该如何破?

selenium爬虫被检测到 该如何破?

如何获取cookies?
使用的方法是通过 mitmproxy 蔽掉识别 webdriver 标识符的 js 文件。
首先下载mitproxy,pip安装方法: pip install mitmproxy基本使用方法:给本机设置代理ip 127.0.0.1端口8001(为了让所有流量走mitmproxy)具体方法请百度。

  1. 启动mitmproxy。windows:mitmdump -p 8001Linux:mitmproxy -p 8001
  2. 打开chrome的开发者工具,找到目标网站是通过哪个js文件控制webdriver相应的
    在这里插入图片描述

我们发现,是yoda.xxx.js文件在控制webdriver的请求与响应。
4. 开始写干扰脚本(DriverPass.py):

import re
from mitmproxy import ctx

def response(flow): 
    if '/js/yoda.' in flow.request.url:
        for webdriver_key in ['webdriver', '__driver_evaluate', '__webdriver_evaluate', '__selenium_evaluate', '__fxdriver_evaluate', '__driver_unwrapped', '__webdriver_unwrapped', '__selenium_unwrapped', '__fxdriver_unwrapped', '_Selenium_IDE_Recorder', '_selenium', 'calledSelenium', '_WEBDRIVER_ELEM_CACHE', 'ChromeDriverw', 'driver-evaluate', 'webdriver-evaluate', 'selenium-evaluate', 'webdriverCommand', 'webdriver-evaluate-response', '__webdriverFunc', '__webdriver_script_fn', '__$webdriverAsyncExecutor', '__lastWatirAlert', '__lastWatirConfirm', '__lastWatirPrompt', '$chrome_asyncScriptInfo', '$cdc_asdjflasutopfhvcZLmcfl_' ]:
            ctx.log.info('Remove "{}" from {}.'.format(
            webdriver_key, flow.request.url
            ))  
        flow.response.text = flow.response.text.replace('"{}"'.format(webdriver_key), '"NO-SUCH-ATTR"')  
    flow.response.text = flow.response.text.replace('t.webdriver', 'false')
    flow.response.text = flow.response.text.replace('ChromeDriver', '')
  1. 退出刚才的mitmproxy状态,重新用命令行启动mitmproxy干扰脚本 监听8001端口的请求与响应。mitmdump -s DriverPass.py -p 8001
  2. 现在别管mitmproxy,启动webdriver 顺利获得cookies。
<think>好的,我需要帮助用户找到在Linux系统上安装和配置Qt 6.8.0教程。首先,我应该回顾用户提供的引用内容,看看是否有相关的信息。引用[1]提到了在Linux下安装Qt 4.8.2的步骤,包括使用sudo make install和验证安装的方法。引用[2]则讨论了Qt 6Windows上的开发环境,并提到Linux上的安装包可能只有MinGW版本,但用户需要支持QWebView的情况。 不过,用户现在询问的是Qt 6.8.0在Linux上的安装与配置。现有的引用可能不足以直接回答,因为版本差异较大。我需要结合通用的Qt安装步骤,并查找是否有针对Qt 6.8.0的具体指导。 首先,Qt官方文档是主要来源。通常,Qt提供在线安装程序Qt Installer,适用于各平台。Linux用户可能需要下载.run文件,赋予执行权限,然后运行安装程序。安装过程中可能需要登录Qt账户,选择组件,如Qt Creator、必要的库等。 接下来,环境变量配置可能是必要的。例如,将Qt安装路径添加到PATH中,或者设置QTDIR变量。此外,可能需要安装一些依赖库,如OpenGL、libxcb等,这些在安装前需要用户通过包管理器安装。 用户提到的引用[1]中提到的验证方法,比如运行designer,在Qt 6.8.0中可能仍然适用,但路径会不同,例如/opt/Qt/6.8.0/gcc_64/bin/designer。此外,安装后的项目配置可能需要设置Qt版本和编译器路径,尤其是在使用IDE如Qt Creator时。 需要注意的是,用户引用[2]提到MinGW在Linux上可能不支持QWebView,但用户的问题中没有明确提到是否需要这个模块。如果用户需要特定模块,应确保在安装时勾选相应的组件。 最后,生成相关问题时应围绕安装步骤、依赖项处理、环境配置、常见问题解决等方向。需要确保回答结构清晰,分步骤指导,并引用提供的资料适当标注。</think>### QT 6.8.0 Linux 安装与配置教程 #### 1. 下载安装程序 - 访问[Qt官方下载页面](https://www.qt.io/download),选择 **开源版本**,下载适用于Linux的在线安装程序(如 `qt-unified-linux-x64-4.x.run`)。 - 若需离线安装包,需注册Qt账号后手动选择版本[^1]。 #### 2. 安装依赖项 ```bash sudo apt-get update sudo apt-get install -y libgl1-mesa-dev libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 ``` (部分依赖可能因系统版本不同需调整) #### 3. 运行安装程序 ```bash chmod +x qt-unified-linux-x64-4.x.run # 添加执行权限 ./qt-unified-linux-x64-4.x.run # 启动图形化安装 ``` - 登录Qt账号后,勾选 **Qt 6.8.0** 版本,建议同时安装 **Qt Creator** 和 **对应编译器(如GCC)**。 - 默认安装路径为 `/opt/Qt/6.8.0/`[^1]。 #### 4. 配置环境变量 ```bash # 在~/.bashrc末尾添加 export PATH="/opt/Qt/6.8.0/gcc_64/bin:$PATH" export QTDIR="/opt/Qt/6.8.0/gcc_64" source ~/.bashrc # 立即生效 ``` #### 5. 验证安装 运行Qt Creator或命令行工具: ```bash qtcreator & # 启动IDE qmake -v # 查看版本 /opt/Qt/6.8.0/gcc_64/bin/designer & # 启动界面设计器 ``` #### 6. 项目配置示例 在Qt Creator中: 1. 新建项目时选择 **Kit**(需包含Qt 6.8.0和GCC编译器) 2. 若编译报错缺少库,通过 `sudo apt install` 补充依赖 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值