pyppeteer_stealth隐藏pyppeteer特征天花板神器

2022-12-18 09:21:28 浏览数 (1)

主角登场

https://github.com/MeiK2333/pyppeteer_stealth

第一眼看也能猜出来是干啥的, 就是用来隐藏pyppeteer特征的, 话不多说, 直接开干, 来测一下就知道它的神奇之处了

安装

代码语言:javascript复制
pip install pyppeteer_stealth

使用

代码语言:javascript复制
import asyncio
from pyppeteer import launch
from pyppeteer_stealth import stealth

async def main():
    browser = await launch(headless=True)
    page = await browser.newPage()
    ###
    await stealth(page)  # <-- Here
    ###
    await page.goto("https://bot.sannysoft.com/")
    await browser.close()
asyncio.get_event_loop().run_until_complete(main())

参数

代码语言:javascript复制
stealth(
  page: Page,
  run_on_insecure_origins: bool = False,
  languages: [str] = ["en-US", "en"],
  vendor: str = "Google Inc."
  user_agent: str = None,
  locale: str = "en-US,en",
  mask_linux: bool = True,
  webgl_vendor: str = "Intel Inc.",
  renderer: str = "Intel Iris OpenGL Engine",
  disabled_evasions: list = [],
)

禁止隐藏的特征disabled_evasions , 支持隐藏的参数

代码语言:javascript复制
['chrome_app',
 'chrome_runtime',
 'iframe_content_window',
 'media_codecs',
 'sourceurl',
 'navigator_hardware_concurrency',
 'navigator_languages',
 'navigator_permissions',
 'navigator_plugins',
 'navigator_vendor',
 'navigator_webdriver',
 'user_agent_override',
 'webgl_vendor',
 'window_outerdimensions']

使用之前

无头模式 vs 正常显示页面

使用之后

原图在项目里, 虽然看不清, 但是可以看到使用之后无头浏览器比正常运行的还像 ·真浏览器·,

0 人点赞