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

selenium跳過webdriver檢測(cè)并模擬登錄淘寶

 更新時(shí)間:2019年06月12日 15:18:01   作者:云外孤鳥  
這篇文章主要介紹了selenium跳過webdriver檢測(cè)并模擬登錄淘寶,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

簡(jiǎn)介

模擬登錄淘寶已經(jīng)不是一件新鮮的事情了,過去我曾經(jīng)使用get/post方式進(jìn)行爬蟲,同時(shí)也加入IP代理池進(jìn)行跳過檢驗(yàn),但隨著大型網(wǎng)站的升級(jí),采取該策略比較難實(shí)現(xiàn)了。因?yàn)槟闶褂胓et/post方式進(jìn)行爬取數(shù)據(jù),會(huì)提示需要登錄,而登錄又是一大難題,需要滑動(dòng)驗(yàn)證碼驗(yàn)證。當(dāng)你想使用IP代理池進(jìn)行跳過檢驗(yàn)時(shí),發(fā)現(xiàn)登錄時(shí)需要手機(jī)短信驗(yàn)證碼驗(yàn)證,由此可以知道舊的全自動(dòng)爬取數(shù)據(jù)對(duì)于大型網(wǎng)站比較困難了。

selenium是一款優(yōu)秀的WEB自動(dòng)化測(cè)試工具,所以現(xiàn)在采用selenium進(jìn)行半自動(dòng)化爬取數(shù)據(jù),支持模擬登錄淘寶和自動(dòng)處理滑動(dòng)驗(yàn)證碼。

編寫思路

由于現(xiàn)在大型網(wǎng)站對(duì)selenium工具進(jìn)行檢測(cè),若檢測(cè)到selenium,則判定為機(jī)器人,訪問被拒絕。所以第一步是要防止被檢測(cè)出為機(jī)器人,如何防止被檢測(cè)到呢?當(dāng)使用selenium進(jìn)行自動(dòng)化操作時(shí),在chrome瀏覽器中的consloe中輸入windows.navigator.webdriver會(huì)發(fā)現(xiàn)結(jié)果為Ture,而正常使用瀏覽器的時(shí)候該值為False。所以我們將windows.navigator.webdriver進(jìn)行屏蔽。

在代碼中添加:

 options = webdriver.ChromeOptions()
  # 此步驟很重要,設(shè)置為開發(fā)者模式,防止被各大網(wǎng)站識(shí)別出來使用了Selenium
  options.add_experimental_option('excludeSwitches', ['enable-automation']) 
  self.browser = webdriver.Chrome(executable_path=chromedriver_path, options=options)

同時(shí),為了加快爬取速度,我們將瀏覽器模式設(shè)置為不加載圖片,在代碼中添加:

 options = webdriver.ChromeOptions()
  # 不加載圖片,加快訪問速度
  options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2}) 

至此,關(guān)鍵的步驟我們已經(jīng)懂了,剩下的就是編寫代碼的事情了。在給定的例子中,需要你對(duì)html、css有一定了解。
比如存在以下代碼:

 self.browser.find_element_by_xpath('//*[@class="btn_tip"]/a/span').click()
  taobao_name = self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.site-nav-bd > ul.site-nav-bd-l > li#J_SiteNavLogin > div.site-nav-menu-hd > div.site-nav-user > a.site-nav-login-info-nick ')))
  print(taobao_name.text)

第1行代碼指的是從根目錄(//)開始尋找任意(*)一個(gè)class名為btn_tip的元素,并找到btn_tip的子元素a標(biāo)簽中的子元素span

第2行代碼指的是等待某個(gè)CSS元素出現(xiàn),否則代碼停留在這里一直檢測(cè)。以.開頭的在CSS中表示類名(class),以#開頭的在CSS中表示ID名(id)。A > B,指的是A的子元素B。所以這行代碼可以理解為尋找A的子元素B的子元素C的子元素D的子元素E出現(xiàn),否則一直在這里檢測(cè)。

第3行代碼指的是打印某個(gè)元素的文本內(nèi)容

使用教程

點(diǎn)擊這里下載下載chrome瀏覽器

查看chrome瀏覽器的版本號(hào),點(diǎn)擊這里下載對(duì)應(yīng)版本號(hào)的chromedriver驅(qū)動(dòng)

pip安裝下列包

[x] pip install selenium

點(diǎn)擊這里登錄微博,并通過微博綁定淘寶賬號(hào)密碼

在main中填寫chromedriver的絕對(duì)路徑

在main中填寫微博賬號(hào)密碼

 #改成你的chromedriver的完整路徑地址
 chromedriver_path = "/Users/bird/Desktop/chromedriver.exe" 
 #改成你的微博賬號(hào)
 weibo_username = "改成你的微博賬號(hào)"
 #改成你的微博密碼
 weibo_password = "改成你的微博密碼"

演示圖片


源代碼

項(xiàng)目源代碼在GitHub倉庫

項(xiàng)目持續(xù)更新,歡迎您star本項(xiàng)目

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家

相關(guān)文章

  • Python之Pygame的Event事件模塊

    Python之Pygame的Event事件模塊

    這篇文章主要介紹了Pygame的Event事件模塊,事件(Event)是 Pygame 的重要模塊之一,它是構(gòu)建整個(gè)游戲程序的核心,Pygame 定義了一個(gè)專門用來處理事件的結(jié)構(gòu),即事件隊(duì)列,本文有一定參考價(jià)值,感興趣的同學(xué)可以閱讀參考
    2023-04-04
  • python二進(jìn)制轉(zhuǎn)換模塊的具體用法

    python二進(jìn)制轉(zhuǎn)換模塊的具體用法

    在pyton中,通過struct模塊來對(duì)二進(jìn)制進(jìn)行轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 教你如何使Python爬取酷我在線音樂

    教你如何使Python爬取酷我在線音樂

    這篇文章主要介紹了如何利用?Python?實(shí)現(xiàn)酷我在線音樂的爬取,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2022-04-04
  • Python的Django應(yīng)用程序解決AJAX跨域訪問問題的方法

    Python的Django應(yīng)用程序解決AJAX跨域訪問問題的方法

    針對(duì)Django中在編寫供AJAX調(diào)用的API時(shí)碰到的跨域問題,我們來總結(jié)下Python的Django應(yīng)用程序解決AJAX跨域訪問問題的方法,其中使用GitHub上開源分享的django-cors-headers尤其推薦
    2016-05-05
  • Python圖片檢索之以圖搜圖

    Python圖片檢索之以圖搜圖

    由于很多論文里面的測(cè)試圖片沒有標(biāo)號(hào),就不能確定它們是Testset數(shù)據(jù)集中哪幾張圖片.為了能解決這個(gè)問題,需要完成以圖片去搜索整個(gè)數(shù)據(jù)集文件目錄的任務(wù).本文有非常詳細(xì)的圖文示例,需要的朋友可以參考下
    2021-05-05
  • python math模塊的基本使用教程

    python math模塊的基本使用教程

    這篇文章主要介紹了python math模塊的基本使用教程,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • 使用python字典統(tǒng)計(jì)CSV數(shù)據(jù)的步驟和示例代碼

    使用python字典統(tǒng)計(jì)CSV數(shù)據(jù)的步驟和示例代碼

    為了使用Python字典來統(tǒng)計(jì)CSV數(shù)據(jù),我們可以使用內(nèi)置的csv模塊來讀取CSV文件,并使用字典來存儲(chǔ)統(tǒng)計(jì)信息,以下是一個(gè)詳細(xì)的步驟和完整的代碼示例,需要的朋友可以參考下
    2024-12-12
  • python 裝飾器的實(shí)際作用有哪些

    python 裝飾器的實(shí)際作用有哪些

    這篇文章主要介紹了python 裝飾器的實(shí)際作用有哪些,幫助大家更好的理解和學(xué)習(xí)python裝飾器,感興趣的朋友可以了解下
    2020-09-09
  • Python pip 安裝與使用(安裝、更新、刪除)

    Python pip 安裝與使用(安裝、更新、刪除)

    pip 是 Python 包管理工具,該工具提供了對(duì)Python 包的查找、下載、安裝、卸載的功能,需要的朋友可以參考下
    2019-10-10
  • Python高級(jí)文件操作之shutil庫詳解

    Python高級(jí)文件操作之shutil庫詳解

    這篇文章主要介紹了Python高級(jí)文件操作之shutil庫詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很大的幫助,需要的朋友可以參考下
    2021-05-05

最新評(píng)論

宜都市| 玉环县| 加查县| 望城县| 来凤县| 明水县| 分宜县| 公安县| 开平市| 苏尼特右旗| 邯郸市| 长岭县| 绥芬河市| 呼和浩特市| 平邑县| 日喀则市| 哈密市| 杨浦区| 芷江| 定远县| 三江| 临泽县| 宁陵县| 阳春市| 金沙县| 仁化县| 曲松县| 张家港市| 肃宁县| 东明县| 三门峡市| 资溪县| 谢通门县| 公安县| 赤城县| 石首市| 家居| 犍为县| 如皋市| 张家界市| 大洼县|