最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python selenium反檢測問題

 更新時間:2023年09月13日 09:37:57   作者:一只上班愛摸魚的小菜雞  
這篇文章主要介紹了python selenium反檢測問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

python selenium反檢測

現(xiàn)在有大量的反爬機(jī)制,通常我們爬蟲有re,bs4,selenium,這里重點說selenium的。

之前有業(yè)務(wù)需求需要爬取boos直聘的信息,我們在使用selenium進(jìn)行爬蟲的時候,發(fā)現(xiàn)我們無法登陸進(jìn)去。

在這里我們通過js代碼發(fā)現(xiàn)他有個檢測機(jī)制

#通過查看window.navigator.webdriver信息可以看到這里是為true
window.navigator.webdriver

因此我們需要修改我們的登陸信息

from selenium.webdriver import ChromeOptions
option = ChromeOptions()  # 實例化一個ChromeOptions對象
option.add_experimental_option('excludeSwitches', ['enable-automation'])  # 以鍵值對的形式加入?yún)?shù)
driver = webdriver.Chrome(chromedriver.exe',options=option)

在添加option實例之后我們打開網(wǎng)頁輸入js代碼

window.navigator.webdriver
輸出undefined

這樣我們就可以避開selenium的檢測機(jī)制。

python selenium+pyautogui,跳過網(wǎng)站對自動化采集的檢測

操作方法

pyautogui.FAILSAFE =False  # 自動 防故障功能
pyautogui.PAUSE = 1    #停頓功能
print(pyautogui.size())   # 返回所用顯示器的分辨率; 輸出:Size(width=1920, height=1080)
width,height = pyautogui.size()
print(width,height)  # 1920 1080
print(pyautogui.position())   # 得到當(dāng)前鼠標(biāo)位置;
pyautogui.moveTo(100,300,duration=1)    #移動到指定位置
pyautogui.moveRel(100,500,duration=4)   # 第一個參數(shù)是X軸,第二個是Y軸,duration滑動速度
# 點擊鼠標(biāo)
pyautogui.click(10,10)   # 鼠標(biāo)點擊指定位置,默認(rèn)左鍵
pyautogui.click(10,10,button='left')  # 單擊左鍵
pyautogui.click(1000,300,button='right')  # 單擊右鍵
pyautogui.click(1000,300,button='middle')  # 單擊中間
pyautogui.doubleClick(10,10)  # 指定位置,雙擊左鍵
pyautogui.rightClick(10,10)   # 指定位置,雙擊右鍵
pyautogui.middleClick(10,10)  # 指定位置,雙擊中鍵
pyautogui.mouseDown()   # 鼠標(biāo)按下
pyautogui.mouseUp()    # 鼠標(biāo)釋放
pyautogui.dragTo(100,300,duration=1)   #拖動到指定位置
pyautogui.dragRel(100,500,duration=4)   # 第一個參數(shù)是左右移動像素值,第二個是上下,
pyautogui.scroll(300)  # 向上滾動300個單位;
#獲取屏幕截圖
im = pyautogui.screenshot()
im.save('屏幕截圖.png')	
#識別圖像
btm = pyautogui.locateOnScreen('zan.png')
print(btm)  # Box(left=1280, top=344, width=22, height=22)
# 圖像識別(多個)
btm = pyautogui.locateAllOnScreen('zan.png')
print(list(btm))  # [Box(left=1280, top=344, width=22, height=22), Box(left=25, top=594, width=22, height=22)]
#鍵盤輸入
pyautogui.keyDown('shift')    # 按下shift
pyautogui.press('4')    # 按下 4
pyautogui.keyUp('shift')   # 釋放 shift
#快捷鍵
pyautogui.hotkey('ctrl','c')

實例代碼

# 截圖進(jìn)行,找到位置
x,y = pyautogui.center(pyautogui.locateOnScreen('img_1.png'))
pyautogui.moveTo(x,y, duration=1)
pyautogui.mouseDown()
pyautogui.dragTo(1250, random.choice([400,600]), duration=random.randint(1,3))

##如果是mac系統(tǒng)

img_point = pyautogui.locateCenterOnScreen("aj.png", confidence=0.8) 

將像素調(diào)低,因為圖片分辨率可能大于電腦。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python簡單實現(xiàn)將Markdown轉(zhuǎn)為Word和PDF

    Python簡單實現(xiàn)將Markdown轉(zhuǎn)為Word和PDF

    在當(dāng)今文檔處理的時代,Markdown 已經(jīng)成為了一種流行的輕量級標(biāo)記語言,本文主要和大家介紹了如何使用Python實現(xiàn)將Markdown轉(zhuǎn)為Word和PDF,感興趣的小伙伴可以了解下
    2026-02-02
  • python 代碼運行時間獲取方式詳解

    python 代碼運行時間獲取方式詳解

    這篇文章主要介紹了python 代碼運行時間獲取方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python光學(xué)仿真通過菲涅耳公式實現(xiàn)波動模型

    python光學(xué)仿真通過菲涅耳公式實現(xiàn)波動模型

    這篇文章主要介紹了python光學(xué)仿真通過菲涅耳公式實現(xiàn)波動模型的示例解析原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • Python 結(jié)構(gòu)化字符串中提取數(shù)據(jù)詳情

    Python 結(jié)構(gòu)化字符串中提取數(shù)據(jù)詳情

    這篇文章主要介紹了Python 結(jié)構(gòu)化字符串中提取數(shù)據(jù)詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • Python函數(shù)返回不定數(shù)量的值方法

    Python函數(shù)返回不定數(shù)量的值方法

    今天小編就為大家分享一篇Python函數(shù)返回不定數(shù)量的值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 基于python中pygame模塊的Linux下安裝過程(詳解)

    基于python中pygame模塊的Linux下安裝過程(詳解)

    下面小編就為大家?guī)硪黄趐ython中pygame模塊的Linux下安裝過程(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Python 3.6.報錯 “module ‘enum‘ has no attribute ‘IntFlag‘”的真正原因與解決辦法

    Python 3.6.報錯 “module ‘enum‘ has no

    這篇文章主要為大家詳細(xì)介紹了Python 3.6.報錯 “module ‘enum‘ has no attribute ‘IntFlag‘”的真正原因與解決辦法,文中的示例代碼講解詳細(xì),有需要的可以了解下
    2025-11-11
  • Python FastAPI返回不帶雙引號的字符串問題

    Python FastAPI返回不帶雙引號的字符串問題

    這篇文章主要介紹了Python FastAPI返回不帶雙引號的字符串問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • python中使用PIL制作并驗證圖片驗證碼

    python中使用PIL制作并驗證圖片驗證碼

    本篇文章給大家分享了python中使用PIL制作并驗證圖片驗證碼的具體代碼以及說明,需要的朋友參考下吧。
    2018-03-03
  • Pytorch基本變量類型FloatTensor與Variable用法

    Pytorch基本變量類型FloatTensor與Variable用法

    今天小編就為大家分享一篇Pytorch基本變量類型FloatTensor與Variable用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01

最新評論

濮阳市| 寻乌县| 买车| 盐津县| 南宫市| 苏州市| 乌恰县| 兴国县| 韶山市| 石首市| 晋宁县| 永靖县| 双辽市| 永和县| 冀州市| 石柱| 策勒县| 汉阴县| 永善县| 东莞市| 桓台县| 任丘市| 湛江市| 秦皇岛市| 梅河口市| 资阳市| 五原县| 平南县| 饶阳县| 丹东市| 平南县| 华坪县| 大港区| 双鸭山市| 奎屯市| 东光县| 合肥市| 禹城市| 铜川市| 伊宁县| 东方市|