【親測有效】防檢測插件playwright_stealth 2.X版本快速使用

這里寫自定義目錄標題

  • 核心方法
    • apply_stealth_sync
    • use_sync和use_async
  • 一. playwright_stealth 2.0以上版本
    • 1.同步方法
    • 2.異步方法
    • 3.實例
  • 二.playwright_stealth 2.0以下版本

playwright-stealth 是一個用于 Playwright 的庫,旨在幫助自動化腳本避開一些檢測機制,使得自動化操作更難被網站識別為非人類行為。Playwright 本身并不提供這些功能,因此借助 playwright-stealth 可以增強你的爬蟲或自動化測試腳本的隱蔽性。

核心方法

apply_stealth_sync

從源碼中可以清晰看到這些執行了一段js

    def apply_stealth_sync(self, page_or_context: Union[sync_api.Page, sync_api.BrowserContext]) -> None:if len(self.script_payload) > 0:page_or_context.add_init_script(self.script_payload)

根據不同的內核執行不同的js,從而達到仿造的效果
在這里插入圖片描述

use_sync和use_async

是一個用于 同步 Playwright 的 上下文管理器包裝函數,其目的是 將 Playwright 的上下文(context)進行“增強”或“鉤子處理”,以確保在使用該上下文創建的瀏覽器或頁面時,自動應用反檢測(stealth)邏輯。
這里會自動調用apply_stealth_sync

 with Stealth().use_async(sync_playwright()) as p# 啟動瀏覽器browser = await p.chromium.launch(headless=False)  # 設置 headless=False 以便于觀察page = await browser.new_page()# 應用 stealth 模式stealth = Stealth()await stealth.apply_stealth_async(self.page)# 訪問目標網頁await page.goto('https://example.com')# 在這里添加你需要執行的操作# 關閉瀏覽器await browser.close()

一. playwright_stealth 2.0以上版本

1.同步方法

from playwright_stealth.stealth import Stealth
stealth = Stealth()
stealth.apply_stealth_sync(self.page)

2.異步方法

from playwright_stealth.stealth import Stealth
stealth = Stealth()
await stealth.apply_stealth_async(self.page)

3.實例

import asyncio
from playwright.async_api import async_playwright
from playwright_stealth.stealth import Stealthasync def main():async with async_playwright() as p:# 啟動瀏覽器browser = await p.chromium.launch(headless=False)  # 設置 headless=False 以便于觀察page = await browser.new_page()# 應用 stealth 模式stealth = Stealth()await stealth.apply_stealth_async(self.page)# 訪問目標網頁await page.goto('https://example.com')# 在這里添加你需要執行的操作# 關閉瀏覽器await browser.close()# 運行主函數
asyncio.run(main())

二.playwright_stealth 2.0以下版本

import asyncio
from playwright.async_api import async_playwright
import playwright_stealthasync def main():async with async_playwright() as p:# 啟動瀏覽器browser = await p.chromium.launch(headless=False)  # 設置 headless=False 以便于觀察page = await browser.new_page()# 應用 stealth 模式await playwright_stealth.stealth_async(page)# 訪問目標網頁await page.goto('https://example.com')# 在這里添加你需要執行的操作# 關閉瀏覽器await browser.close()# 運行主函數
asyncio.run(main())

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/89871.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/89871.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/89871.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

docker安裝與簡單項目上手

1.docker安裝 系統版本為almalinux9.6 首先添加一下docker的軟件安裝源(源選擇的阿里云,只要是rhel的系統都適用,無論是rockylinux還是almalinux還是紅帽企業版) dnf config-manager --add-repo https://mirrors.aliyun.com/doc…

計算機網絡基礎:從協議到通信全解析(大致框架)

本節重點:1.了解網絡發展背景,對局域網/廣域網的概念有基本認識2.了解網絡協議的意義,重點理解TCP/IP五層結構模型3.學習網絡傳輸的基本流程,理解封裝和解包分用一、計算機網絡發展背景:人與人之間是需要協同工作的&am…

PDF 編輯器:多文件合并 拆分 旋轉 順序隨便調 加水印 密碼鎖 頁碼背景

各位打工人、學生黨們,你們是不是也遇到過這種情況,領導甩來一個PDF讓你改,結果你搗鼓半天,發現這玩意兒根本動不了,簡直想原地爆炸!別急別急,今天就給你們安利一個辦公軟件——PDF編輯器&#…

【軟件基礎學習配置那些事 4-3】3ds Max2026 菜單欄常用命令-----文件、視圖、編輯、工具、組

3ds Max學習的筆記小知識!!!!!!!!后續都會補充添加!!!!(個人的一些學習筆記,如有不對,歡迎訂正&am…

網絡爬蟲的介紹

網絡爬蟲庫網絡爬蟲通俗來講就是使用代碼將HTML網頁的內容下載到本地的過程。爬取網頁主要是為了獲取網中的關鍵信息,例如網頁中的數據、圖片、視頻等。Python語言中提供了多個具有爬蟲功能的庫,下面將具的介紹。urlib庫:是Python自帶的標準庫&#xff0…

C# 編程實戰進階:字符串與字符串數組 (3)

目錄 1、給定一個整數數組 nums,將數組中的元素向右輪轉 k 個位置,其中 k 是非負數。 2、無重復字符的最長字符串 ,給定一個字符串 s 請你找出其中不含有重復字符的最長字符串的長度。 3、給定兩個字符串 s 和 t ,它們只包含小…

Python趣味算法:百錢百雞問題——雙重循環優化與算法效率分析

如何用Python解決中國古代數學難題?本文從暴力枚舉到高效優化,帶你領略算法之美,效率提升100倍! 看在每天堅持分享有趣知識的份上,點個關注吧(づ ̄ 3 ̄)づ 關注是我更新的動力 ̄︶ ̄? ̄︶ ̄?) 作者會分享更多涉及到各種編程語言的有趣知識!(^?^●)?? 目錄 …

JAVA_TWO-初識Java2

1.IDEA管理Java程序的結構2.idea編譯后的class文件在哪在工程out文件夾下。3.idea一些快捷鍵4.導入模塊File→New→Module from Existing Sources → 添加后綴.iml文件5.注釋單行注釋 //多行注釋 /* 注釋內容1注釋內容2 */文檔注釋 /** 注釋內容 */ (文檔注釋內容可…

二、Dify 版本升級教程(LInux-openeuler)

首先,你需要先按照好dify,然后才能升級,本文教程是基與Docker Compose 如果你還沒有安裝,可以看看這個教程。 一、Dify 私有部署、本地安裝教程(LInux-openeuler)_dify1.5版本部署-CSDN博客 安裝完成后&a…

Java 大視界 -- Java 大數據在智能安防門禁系統中的多生物特征融合識別與權限管理(280)

??親愛的朋友們,熱烈歡迎來到 青云交的博客!能與諸位在此相逢,我倍感榮幸。在這飛速更迭的時代,我們都渴望一方心靈凈土,而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識,也期待你毫無保留地分享獨特見解,愿我們于此攜手成長,共赴新程!?? 本博…

【Tools】Ubuntu24.04安裝詳細教程

00. 目錄 文章目錄00. 目錄01. Ubuntu 24.04簡介02. Ubuntu 24.04下載03. Ubuntu 24.04虛擬機創建04. Ubuntu 24.04安裝步驟05. Ubuntu 24.04常用軟件06. 附錄01. Ubuntu 24.04簡介 Ubuntu 24.04 LTS(代號“Noble Numbat”)是Canonical于2024年4月25日發…

linux基礎入門Ubuntu 22.04 系統中添加、刪除和授予用戶 sudo權限

在 Ubuntu 中,sudo 允許授權用戶以 root 級別權限執行任務,即使他們不知道 root 用戶密碼。這對于執行管理任務非常重要,因為它可以避免直接使用 root 用戶,從而減少系統被誤操作的風險,同時在企業生產中由于ubuntu系統…

npm : 無法加載文件 C:\Program Files\nodejs\npm.ps1

問題描述使用git bash, cmd運行npm都可以,但是用Power Shell運行npm,卻報錯:npm : 無法加載文件 C:\Program Files\nodejs\npm.ps1,因為在此系統上禁止運行腳本。有關詳細信息,請參閱 https:/go.microsoft.com/fwlink/…

【面經】實習經歷

文章目錄一、求職準備篇1.1提升技術水平1.1.1學什么?1.1.2怎么學?1.2做項目1.3做簡歷1.4找實習二、求職難度篇找實習難不難?筆試面試三、實習內容篇新人入職 -- 學會看代碼參與小需求實習日常實習到底難不難?四、總結 一、求職準備…

The Missing Semester of Your CS Education 學習筆記以及一些拓展知識(二)

文章目錄The Missing Semester of Your CS Education 學習筆記以及一些拓展知識Bash腳本筆記部分一些在Bash腳本中的常用命令補充常用標準輸入輸出命令常用環境變量(普通變量)控制命令常用系統時間信息獲取命令常用函數執行狀態控制命令常用腳本執行控制命令Bash腳本的創建和運…

教育科技內容平臺的用戶定位與產品方案:從需求到解決方案的精準匹配

教育科技內容平臺的用戶定位與產品方案:從需求到解決方案的精準匹配打造一款成功的內容平臺,核心在于 “懂用戶”—— 明確不同用戶的需求場景、使用目的,才能設計出真正有價值的產品功能。本文以面向互聯網從業者的教育科技內容平臺為例&…

網絡之路16:認識虛擬化環境H3C CAS

正文共:3888 字 54 圖,預估閱讀時間:6 分鐘目錄網絡之路第一章:Windows系統中的網絡0、序言1、Windows系統中的網絡 1.1、桌面中的網卡 1.2、命令行中的網卡 1.3、路由表 1.4、家用路由器網絡之路第二章:認識企業設備2…

Sklearn 機器學習 IRIS數據 理解分類報告

??親愛的技術愛好者們,熱烈歡迎來到 Kant2048 的博客!我是 Thomas Kant,很開心能在CSDN上與你們相遇~?? 本博客的精華專欄: 【自動化測試】 【測試經驗】 【人工智能】 【Python】 Sklearn 機器學習 IRIS 數據分類報告解讀 鳶尾花(Iris)數據集是機器學習入門中最經典…

ni-app 對鴻蒙的支持現狀

自 HBuilderX 4.27 版本開始,uni-app 支持 Harmony Next 平臺的 App 開發,目前僅支持 Vue3 項目編譯到鴻蒙平臺。uni-app x 從 4.61 版本起支持純血鴻蒙,即 Harmony NEXT,其組件、API、CSS 與 Android 和 iOS 基本拉齊。 開發與配…

docker 容器學習

筆者來介紹一下docker 容器的學習1、docker容器背景 docker 里面有兩個概念,鏡像可看成一個類,而容器則是鏡像的一個實例,從這個來看,那么一般鏡像是一個,而容器可以有很多個。 鏡像:帶一堆工具鏈的操作系統…