亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python selenium反檢測問題

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

python selenium反檢測

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

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

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

#通過查看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的檢測機制。

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())   # 得到當前鼠標位置;
pyautogui.moveTo(100,300,duration=1)    #移動到指定位置
pyautogui.moveRel(100,500,duration=4)   # 第一個參數(shù)是X軸,第二個是Y軸,duration滑動速度
# 點擊鼠標
pyautogui.click(10,10)   # 鼠標點擊指定位置,默認左鍵
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()   # 鼠標按下
pyautogui.mouseUp()    # 鼠標釋放
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')

實例代碼

# 截圖進行,找到位置
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 Flask框架的安裝及應用

    詳解Python Flask框架的安裝及應用

    Flask誕生于愚人節(jié)開的一個玩笑,后來逐漸發(fā)展成為一個成熟的 Python Web框架,越來越受到開發(fā)者的喜愛。本文將以一個博客后臺為例,詳解Flask框架的安裝及應用,需要的可以參考一下
    2022-05-05
  • Python中異常處理及最佳實踐舉例詳解

    Python中異常處理及最佳實踐舉例詳解

    異常處理在任何一門編程語言里都是值得關(guān)注的一個話題,良好的異常處理可以讓你的程序更加健壯,下面這篇文章主要給大家介紹了關(guān)于Python中異常處理及最佳實踐的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • Django rstful登陸認證并檢查session是否過期代碼實例

    Django rstful登陸認證并檢查session是否過期代碼實例

    這篇文章主要介紹了Django rstful登陸認證并檢查session是否過期代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • PyCharm永久激活方式(推薦)

    PyCharm永久激活方式(推薦)

    這篇文章主要介紹了PyCharm永久激活方式,本文通過圖文并茂的方式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • python多線程實現(xiàn)代碼(模擬銀行服務操作流程)

    python多線程實現(xiàn)代碼(模擬銀行服務操作流程)

    這篇文章主要介紹了python模擬銀行服務多線程實現(xiàn)代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • 深入學習python多線程與GIL

    深入學習python多線程與GIL

    這篇文章主要介紹了深入學習python多線程與GIL,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • python二叉樹遍歷的實現(xiàn)方法

    python二叉樹遍歷的實現(xiàn)方法

    這篇文章主要介紹了python二叉樹遍歷的實現(xiàn)方法,使用了三種遍歷:先序遍歷,中序遍歷,后序遍歷,方法大家參考使用
    2013-11-11
  • 使用pyqt5搭建yolo3目標識別界面的方法

    使用pyqt5搭建yolo3目標識別界面的方法

    這篇文章主要介紹了使用pyqt5搭建yolo3目標識別界面的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Python數(shù)據(jù)處理的26個Pandas實用技巧總結(jié)

    Python數(shù)據(jù)處理的26個Pandas實用技巧總結(jié)

    這篇文章主要給大家分享一些pandas的實用技巧,共計26個,這些技巧在你做數(shù)據(jù)處理中必不可少,感興趣的小伙伴可以跟隨小編學習一下
    2022-02-02
  • pygame游戲之旅 添加icon和bgm音效的方法

    pygame游戲之旅 添加icon和bgm音效的方法

    這篇文章主要為大家詳細介紹了pygame游戲之旅的第14篇,教大家如何添加icon和bgm音效,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11

最新評論