新闻详情

新闻详情

首页 / 资讯中心 / 详情

让invisible_playwright接入Scrapy、Crawlee与AI Agent:主流框架集成完整教程

发布时间:2026/9/30 6:37:26来源:尧图网络
让invisible_playwright接入Scrapy、Crawlee与AI Agent:主流框架集成完整教程
让invisible_playwright接入Scrapy、Crawlee与AI Agent主流框架集成完整教程【免费下载链接】invisible_playwrightPlaywright that anti-bots cannot see, so no captchas: same API, anti-detect stealth headless Firefox, undetected fingerprint, bypass bot detection, Python web scraping and browser automation.项目地址: https://gitcode.com/gh_mirrors/in/invisible_playwright你是否也遇到过这样的困境爬虫项目用的是 Playwright 驱动 Firefox却总被反爬系统识别、弹出验证码invisible_playwright 是一款“反爬系统看不见的 Playwright”——它在 C 层打补丁的 Firefox 引擎上叠加了由种子生成的指纹配置API 与标准 Playwright 完全一致因此可以平滑接入 Scrapy、Crawlee、LangChain 等主流框架让 Python 爬虫和浏览器自动化任务绕开 bot 检测、告别验证码。本教程带你一步步把 invisible_playwright 接进这些框架。核心原理集成时只有“两个一半”动手之前先理解这个包由两半组成所有框架集成的成败都取决于这一点组成部分是什么怎么传给框架引擎C 源码级修补的 Firefox 二进制通过executable_path指向它画像由种子seed生成的firefox_user_prefs随启动选项一起传入只传引擎 → 浏览器比原版 Firefox 更难被指纹识别但没有独立身份引擎 画像都传 → 每次运行都是一台可复现的“虚拟机器”两个来源对浏览器身份“各说各话” → 不一致本身就是最强的检测信号 ❌。 一句话记住让同一个组件负责身份。要么都用 invisible_playwright要么就关掉框架自带的指纹生成器。接入 Scrapyscrapy-playwright 的两种路线Scrapy 本身不启动浏览器靠 scrapy-playwright 驱动浏览器。官方文档已经点名本项目与 patchright、camoufox 并列有两条接入路线路线一浏览器 Provider推荐能力最完整scrapy-playwright提供了PLAYWRIGHT_BROWSER_PROVIDER设置项。自定义一个 Provider 类用InvisiblePlaywright启动浏览器并交还给框架即可# myproject/providers.py class InvisibleBrowserProvider: async def launch_browser(self): from invisible_playwright.async_api import InvisiblePlaywright return await self.stack.enter_async_context( InvisiblePlaywright(**self.config.launch_options) )然后在settings.py中声明PLAYWRIGHT_BROWSER_PROVIDER myproject.providers.InvisibleBrowserProvider PLAYWRIGHT_BROWSER_TYPE firefox PLAYWRIGHT_LAUNCH_OPTIONS {seed: 1, headless: True} 注意有了自定义 Provider 后PLAYWRIGHT_LAUNCH_OPTIONS携带的是本包自己的参数seed、proxy、locale、timezone等而不是 Playwright 的启动参数。路线二仅改配置更省事但少一些能力如果不想写 ProviderPLAYWRIGHT_LAUNCH_OPTIONS会原样转发给browser_type.launch()from invisible_playwright import ensure_binary, get_default_stealth_prefs PLAYWRIGHT_BROWSER_TYPE firefox PLAYWRIGHT_LAUNCH_OPTIONS { executable_path: str(ensure_binary()), firefox_user_prefs: get_default_stealth_prefs(seed1, humanizeTrue), headless: True, }⚠️ 这条路线丢失三样东西拟人化鼠标轨迹、基于出口 IP 自动解析的时区/语言、以及引擎与配置的版本校验。能用路线一就优先路线一。蜘蛛代码完全不用改yield scrapy.Request(https://example.com/, meta{playwright: True})就这一处Scrapy 的其余部分代理中间件、重试、导出照旧工作。接入 Crawlee一个子类换掉整个引擎Crawlee for Python 通过插件Plugin驱动浏览器所以换引擎 写一个子类而不是 fork 整个项目pip install crawlee[playwright] invisible-playwright继承PlaywrightBrowserPlugin重写new_browser()在里面调用ensure_binary()拿到修补版 Firefox用get_default_stealth_prefs(seed...)生成画像然后交还给PlaywrightBrowserController。关键就一行不能省return PlaywrightBrowserController( browser, fingerprint_generatorNone, # ← 必须关掉 Crawlee 自己的指纹生成器 )为什么要关Crawlee 会自己生成一套指纹和请求头默认它“拥有”浏览器身份。而在这里身份已经由引擎编译决定两套独立答案对不上恰好就是检测器要找的信号。PlaywrightCrawler的请求处理、存储、链接入队全部照旧——只有启动方式变了。JavaScript 版 Crawlee更简单纯配置即可把launcher: firefox加上executablePath和firefoxUserPrefs传给launchContext再设useFingerprints: false。详见 crawlee-js.md。给 AI Agent 装上隐身浏览器AI Agent 是最新的重灾区它除了继承普通会话的所有指纹暴露面还多了一项行为节奏特征——思考-行动的间隔和指针瞬间跳转人类绝不会这样。LangChain两行代码完成交接LangChain 的PlayWrightBrowserToolkit.from_browser()接受一个你已经启动好的浏览器这正是最佳接入点from invisible_playwright.async_api import InvisiblePlaywright from langchain_community.agent_toolkits import PlayWrightBrowserToolkit async with InvisiblePlaywright(seed42) as browser: toolkit PlayWrightBrowserToolkit.from_browser(async_browserbrowser)InvisiblePlaywright交出的就是标准的playwright.async_api.Browser所以 Agent 的navigate、click、extract_text等所有工具自动继承真实浏览器指纹。 完整教程见 langchain-agent-invisible-playwright-browser.md。Playwright MCP两个参数指向修补引擎如果你已在使用微软的playwright-mcp给它加--browser firefox和--executable-path 路径路径可用invisible-playwright fetch命令获取即可让 Agent 跑在修补版引擎上。想要连种子画像也带上的完整方案可以用随 AIHawk 发布的 MCP 服务器uvx aihawk一行命令接入。 见 playwright-mcp.md 与 mcp-browser-server-stealth-firefox.md。⚡ 诚实提醒换浏览器解决的是“页面加载看起来像真人”解决不了 Agent 的动作节奏、出口 IP 信誉和限流纪律——这三件事要分别治理。其他框架速查表好消息所有官方 Playwright 绑定都暴露了executablePath和firefoxUserPrefs这两个启动选项所以几乎任何框架都能接入。框架接入方式文档Go / Java / C# / Ruby / RustPython 生成二进制路径 prefs.json各语言绑定直接传入other-languages.mdCodeceptJSfirefox配置块原样转发codeceptjs.mdRobot Framework BrowserNew Browser关键字两个命名参数robot-framework.mdCypress / WebdriverIO / TestCafe / Nightwatch启动选项转发test-runners.md⛔ 也有接不进的情况只支持 Chromium/CDP 的项目、只能连远程浏览器的框架、以及无条件叠加自己 stealth 层的框架叠加层会和引擎“争辩”结果比不叠更糟。完整清单见 integrations/README.md。三条通用避坑规则 不要设置 User-Agent。UA 来自引擎真实版本和种子画像单独覆盖它 让浏览器“自相矛盾”的最经典方式。不要叠加第二套 stealth 层。从 JS 注入补丁去改navigator会和一个已在 C 层答好题的引擎冲突——不一致比不完美更扎眼。一个身份一个种子而不是每次运行换一个。固定seed让失败可复现、可二分定位要换“机器”才换种子。验证集成是否成功集成完成后让框架访问任意指纹测试页读回两个值User-Agent应为 Firefox且版本与invisible-playwright version输出一致WebGL 渲染器应为消费级 GPU若显示 basic / software说明画像没生效或机器无 GPU。再顺手确认 WebRTC 行为是否正常修补版引擎下 ICE 候选应与代理出口一致写在最后invisible_playwright 的集成哲学很简洁API 不变只是浏览器“换了个身体”。Scrapy 改一个 Provider、Crawlee 改一个子类、LangChain 改两行交接代码——你的爬虫逻辑、测试用例和 Agent 编排几乎原封不动。先跑通上面“两个一半”的验证再谈规模固定种子、配好干净出口、给 Agent 加上人的节奏隐身浏览器才算真正开始工作。更多入口集成总览 · 快速上手 · 配置参考 · 种子与可复现身份【免费下载链接】invisible_playwrightPlaywright that anti-bots cannot see, so no captchas: same API, anti-detect stealth headless Firefox, undetected fingerprint, bypass bot detection, Python web scraping and browser automation.项目地址: https://gitcode.com/gh_mirrors/in/invisible_playwright创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

尺度分级感知耦合物理与思想实验| 赵杰 | 量子感知论 2026/9/30 7:34:16

尺度分级感知耦合物理与思想实验| 赵杰 | 量子感知论

作者:赵杰,清华大学硕士、微美全息云科技(NASDAQ:WIMI)董事长、微算法科技(NASDAQ:MLGO)董事长、育杰奖学金创始人人类物理体系百年最大悖论始终存在:微观量子世界服从叠…

阅读更多 →
深度学习大模型全链路实战:从单卡微调、量化压缩到vLLM推理部署 2026/9/30 7:34:16

深度学习大模型全链路实战:从单卡微调、量化压缩到vLLM推理部署

简介:这份文档面向具备一定深度学习基础的研发人员、数据科学家与技术爱好者,系统梳理大模型从构建到部署的全链路开发路径,帮助读者打通环境搭建、数据处理、模型选择与训练、评估优化直至最终上线的完整流程,解决实际项目中落地…

阅读更多 →
突发!字节内部大调整,QA 直接转研发了? 2026/9/30 7:34:16

突发!字节内部大调整,QA 直接转研发了?

1. 引言 最近,字节跳动内部的一则消息在技术圈炸开了锅——QA(质量保障)团队要直接转研发了? 消息一出,有人拍手叫好,有人焦虑不安。这到底是谣传,还是字节真的在下一盘大棋?今天我们…

阅读更多 →
AI 泡沫规模达互联网泡沫17倍,实测6款主流大模型 API 成本横评:谁在裸泳,谁在真降价? 2026/9/30 7:34:16

AI 泡沫规模达互联网泡沫17倍,实测6款主流大模型 API 成本横评:谁在裸泳,谁在真降价?

本文不讨论"AI 会不会崩盘"这种大词,只算一笔开发者最关心的账:在"AI 泡沫规模达互联网泡沫 17 倍"的背景下,主流大模型 API 到底涨了还是降了?我们该怎么选?这篇横评主要是用AiPy来做的&#xff…

阅读更多 →
Java后端WebUploader分块上传完整解析:接收合并与断点续传 2026/9/30 7:34:02

Java后端WebUploader分块上传完整解析:接收合并与断点续传

大文件上传这件事,很多Java后端开发第一次遇到"分块"这个概念,多半是在某个文件上传接口被运维找上门的时候——要么是用户传了个几百MB的视频,中间断一次网就全部重来;要么是Nginx直接返回413,前端疯狂报错…

阅读更多 →
Python+TensorFlow卷积神经网络实战:猫狗识别从70%到97%准确率 2026/9/30 7:34:02

Python+TensorFlow卷积神经网络实战:猫狗识别从70%到97%准确率

简介:这份资源面向深度学习入门者与计算机视觉初学者,围绕TensorFlow卷积神经网络实现猫狗图像二分类这一经典任务展开,帮助读者打通从数据读取到模型测试的完整流程。压缩包内共1个PDF文件,约78KB,以图文讲解形式呈现…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉