pyppeteer-stealth
教程
pyppeteer_stealth项目地址:https://gitcode.com/gh_mirrors/py/pyppeteer_stealth
1. 项目介绍
pyppeteer-stealth
是一个基于 pyppeteer
的库,其目的在于帮助用户隐匿浏览器的自动化痕迹,以防止被目标网站识别出是在使用 Puppeteer 或者类似工具。该项目移植自 puppeteer-extra-plugin-stealth
,虽然不保证完美无缺,但在很多场景下能够有效地隐藏 pyppeteer
特征。
2. 项目快速启动
安装
在你的 Python 环境中,你可以通过 pip
快速安装 pyppeteer-stealth
:
pip install pyppeteer_stealth
使用
以下是一个简单的示例,展示了如何利用 pyppeteer-stealth
启动一个隐匿模式的浏览器,并访问网页:
import asyncio
from pyppeteer import launch
from pyppeteer_stealth import stealth
async def main():
browser = await launch(headless=True)
page = await browser.newPage()
# 应用 stealth 模块
await stealth(page)
await page.goto('https://botsannysoft.com/')
await browser.close()
asyncio.get_event_loop().run_until_complete(main())
在这段代码中,stealth(page)
方法就是关键,它使页面的行为更加难以被检测到是自动化的。
3. 应用案例和最佳实践
例子:检查浏览器伪装
要测试你的浏览器是否成功地进行了伪装,可以访问一些在线浏览器指纹检测网站,如 Bot Sanny 或 AmIUnique。如果这些网站不能正确识别你的浏览器是自动化工具,那么 pyppeteer-stealth
已经发挥了作用。
最佳实践:选择性禁用 Evasions
不同的网站可能对某些特定的自动化检测有反应,可以通过传递 disabled_evasions
参数来禁用不适用的伪装策略:
await stealth(page, disabled_evasions=['navigator_webdriver', 'user_agent_override'])
尝试不同的组合,找到最适合你的场景的配置。
4. 典型生态项目
pyppeteer
: 该库的基础,用于提供对 Chromium 浏览器的低级别控制。puppeteer
: 这是pyppeteer
的 JavaScript 原型,用 Node.js 编写。puppeteer-extra
: 提供额外插件功能,包括 Stealth 插件。puppeteer-extra-plugin-stealth
: 作为pyppeteer-stealth
的灵感来源,它原本是为 Puppeteer 设计的。
以上项目共同构成了一个丰富的生态系统,满足各种自动化浏览和数据抓取的需求。
请确保在实际使用时,遵守目标网站的服务条款和隐私政策,以及当地法律法规。
pyppeteer_stealth项目地址:https://gitcode.com/gh_mirrors/py/pyppeteer_stealth