成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Python 爬蟲(chóng)利器 Selenium

RobinQu / 3338人閱讀

摘要:還記得前幾節(jié),我們?cè)跇?gòu)造請(qǐng)求時(shí)會(huì)給請(qǐng)求加上瀏覽器目的就是為了讓我們的請(qǐng)求模擬瀏覽器的行為,防止被網(wǎng)站的反爬蟲(chóng)策略限制。創(chuàng)建一個(gè)實(shí)例打開(kāi)網(wǎng)址運(yùn)行后會(huì)發(fā)現(xiàn)程序自動(dòng)打開(kāi)了瀏覽器,并且定向到了百度首頁(yè)。

前面幾節(jié),我們學(xué)習(xí)了用 requests 構(gòu)造頁(yè)面請(qǐng)求來(lái)爬取靜態(tài)網(wǎng)頁(yè)中的信息以及通過(guò) requests 構(gòu)造 Ajax 請(qǐng)求直接獲取返回的 JSON 信息。

還記得前幾節(jié),我們?cè)跇?gòu)造請(qǐng)求時(shí)會(huì)給請(qǐng)求加上瀏覽器 headers,目的就是為了讓我們的請(qǐng)求模擬瀏覽器的行為,防止被網(wǎng)站的反爬蟲(chóng)策略限制。今天要介紹的 Selenium 是一款強(qiáng)大的工具,它可以控制我們的瀏覽器,這樣一來(lái)程序的行為就和人類(lèi)完全一樣了。

通過(guò)使用 Selenium 可以解決幾個(gè)問(wèn)題:

頁(yè)面內(nèi)容是由 JavaScript 動(dòng)態(tài)生成,通過(guò) requests 請(qǐng)求頁(yè)面無(wú)法獲取內(nèi)容。

爬蟲(chóng)程序被反爬蟲(chóng)策略限制

讓程序的行為和人一樣

安裝

pip install selenium

安裝瀏覽器驅(qū)動(dòng)

驅(qū)動(dòng)下載地址

下載后把驅(qū)動(dòng)文件加入環(huán)境變量?;蛘咧苯影羊?qū)動(dòng)文件和 Python腳本放到同一文件夾下面

測(cè)試
安裝完成后,可以編寫(xiě)以下腳本來(lái)測(cè)試是否安裝成功。

from selenium import webdriver
driver = webdriver.Chrome()  # 創(chuàng)建一個(gè) Chrome WebDriver 實(shí)例
driver.get("https://www.baidu.com/")  # 打開(kāi)網(wǎng)址

運(yùn)行后會(huì)發(fā)現(xiàn)程序自動(dòng)打開(kāi)了 Chrome 瀏覽器,并且定向到了百度首頁(yè)。

與頁(yè)面交互
WebDriver定義了很多方法,我們可以很方便的操作頁(yè)面上的元素
比如獲取元素,可以通過(guò) driver.find_element_by_id("id")或者driver.find_element_by_name("name")以及 xpath路徑的方式來(lái)獲取元素??梢酝ㄟ^(guò)send_keys 向輸入框中寫(xiě)入文本。

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
search_input = driver.find_element_by_id("kw") # 獲取到百度搜索框
search_input.send_keys("劉亦菲")  # 自動(dòng)輸入 劉亦菲
submit = driver.find_element_by_id("su")  # 獲取到百度一下按鈕
submit.click()  # 點(diǎn)擊搜索

運(yùn)行以上腳本,程序會(huì)自動(dòng)打開(kāi) Chrome 瀏覽器,并自動(dòng)搜索 劉亦菲

其他操作
Selenium 可以進(jìn)行各種各樣的操作,使程序完全符合人類(lèi)的操作習(xí)慣。下面看一下還有哪些功能。

具體可以看官方文檔,這里貼一下地址
https://selenium-python-zh.readthedocs.io/en/latest/index.html

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/42529.html

相關(guān)文章

  • 零基礎(chǔ)如何學(xué)爬蟲(chóng)技術(shù)

    摘要:楚江數(shù)據(jù)是專(zhuān)業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲(chóng)技術(shù)以供學(xué)習(xí),。本文來(lái)源知乎作者路人甲鏈接楚江數(shù)據(jù)提供網(wǎng)站數(shù)據(jù)采集和爬蟲(chóng)軟件定制開(kāi)發(fā)服務(wù),服務(wù)范圍涵蓋社交網(wǎng)絡(luò)電子商務(wù)分類(lèi)信息學(xué)術(shù)研究等。 楚江數(shù)據(jù)是專(zhuān)業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲(chóng)技術(shù)以供學(xué)習(xí),http://www.chujiangdata.com。 第一:Python爬蟲(chóng)學(xué)習(xí)系列教程(來(lái)源于某博主:htt...

    KunMinX 評(píng)論0 收藏0
  • 爬蟲(chóng) + 自動(dòng)化利器 selenium 之自學(xué)成才篇(二)

    摘要:耗時(shí)代碼運(yùn)行到這句之后觸發(fā)隱式等待,在輪詢(xún)檢查后仍然沒(méi)有定位到元素,拋出異常。耗時(shí)值得一提的是,對(duì)于定位不到元素的時(shí)候,從耗時(shí)方面隱式等待和強(qiáng)制等待沒(méi)什么區(qū)別。 ...

    AWang 評(píng)論0 收藏0
  • ??爬蟲(chóng)+自動(dòng)化利器 selenium 之自學(xué)成才篇(一)??

    文章目錄 selenium 簡(jiǎn)介selenium安裝安裝瀏覽器驅(qū)動(dòng)確定瀏覽器版本下載驅(qū)動(dòng) 定位頁(yè)面元素打開(kāi)指定頁(yè)面id 定位name 定位class 定位tag 定位xpath 定位css 定位link 定位partial_link 定位 瀏覽器控制修改瀏覽器窗口大小瀏覽器前進(jìn)&后退瀏覽器刷新瀏覽器窗口切換常見(jiàn)操作 鼠標(biāo)控制單擊左鍵單擊右鍵雙擊拖動(dòng)鼠標(biāo)懸停 鍵盤(pán)控制 seleni...

    james 評(píng)論0 收藏0
  • BeautifulSoup:網(wǎng)頁(yè)解析利器上手簡(jiǎn)介

    摘要:文檔寫(xiě)得很清楚,也有中文版,你只要看了最初的一小部分,就可以在代碼中派上用場(chǎng)了。 關(guān)于爬蟲(chóng)的案例和方法,我們已講過(guò)許多。不過(guò)在以往的文章中,大多是關(guān)注在 如何把網(wǎng)頁(yè)上的內(nèi)容抓取下來(lái) 。今天我們來(lái)分享下,當(dāng)你已經(jīng)把內(nèi)容爬下來(lái)之后, 如何提取出其中你需要的具體信息 。 網(wǎng)頁(yè)被抓取下來(lái),通常就是 str 字符串類(lèi)型的對(duì)象 ,要從里面尋找信息,最直接的想法就是直接通過(guò)字符串的 find 方法 ...

    Carl 評(píng)論0 收藏0
  • Python爬蟲(chóng)學(xué)習(xí)路線

    摘要:以下這些項(xiàng)目,你拿來(lái)學(xué)習(xí)學(xué)習(xí)練練手。當(dāng)你每個(gè)步驟都能做到很優(yōu)秀的時(shí)候,你應(yīng)該考慮如何組合這四個(gè)步驟,使你的爬蟲(chóng)達(dá)到效率最高,也就是所謂的爬蟲(chóng)策略問(wèn)題,爬蟲(chóng)策略學(xué)習(xí)不是一朝一夕的事情,建議多看看一些比較優(yōu)秀的爬蟲(chóng)的設(shè)計(jì)方案,比如說(shuō)。 (一)如何學(xué)習(xí)Python 學(xué)習(xí)Python大致可以分為以下幾個(gè)階段: 1.剛上手的時(shí)候肯定是先過(guò)一遍Python最基本的知識(shí),比如說(shuō):變量、數(shù)據(jù)結(jié)構(gòu)、語(yǔ)法...

    liaoyg8023 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<