playwright绕过浏览器检测,使用本地浏览器

此方法是playwright与本地浏览器以ws方式通信

可以绕过基本上大部分浏览器检测,因为这就是一个真正的浏览器

更多博客内容访问我的博客网站:回锅炒辣椒的博客

两种使用方式:

  1. 每次运行程序之后先打开浏览器
  1. 找到自己桌面chrome的快捷方式键
  2. 点击属性
  3. 在目标一栏的最后添加 --remote-debugging-port=9999 端口可自定义
  4. with sync_playwright() as p:
    # 创建一个连接
    browser = p.chromium.connect_over_cdp("http://localhost:9999")
    content = browser.contexts[0]
    page = content.new_page()
    
  5. 在上述page下进行浏览器操作即可
  1. 不打开浏览器,自行打开

在程序中添加下面的代码即可

import subprocess
# 这个路径可以是Google浏览器的exe路径,也可以是快捷方式的路径
chrome_path = r'"C:\Program Files\Google\Chrome\Application\chrome.exe"'
debugging_port = "--remote-debugging-port=9999"

command = f"{chrome_path} {debugging_port}"
subprocess.Popen(command, shell=True)

之后就是

   with sync_playwright() as p:
   # 创建一个连接
   browser = p.chromium.connect_over_cdp("http://localhost:9999")
   content = browser.contexts[0]
   page = content.new_page()

在上述page下进行浏览器操作即可

注意:
此方法不可以在打开了普通版(非第一种情况)的浏览器使用

更多爬虫与反爬虫可见GitHub仓库:
https://github.com/xishandong/crawlProject

基础篇
request篇
解析html以及正则篇
scrapy篇
高性能异步爬虫
自动化篇
selenium
playwright
进阶篇
综合案例
js逆向专题
请求头或响应数据加密
浏览器指纹检测
webPack篇
环境检测篇
wasm篇
验证码篇
滑块篇

playwright绕过浏览器检测,使用本地浏览器_第1张图片

你可能感兴趣的:(playwright绕过浏览器检测,使用本地浏览器)