国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python 爬蟲利器 Selenium

RobinQu / 3335人閱讀

摘要:還記得前幾節,我們在構造請求時會給請求加上瀏覽器目的就是為了讓我們的請求模擬瀏覽器的行為,防止被網站的反爬蟲策略限制。創建一個實例打開網址運行后會發現程序自動打開了瀏覽器,并且定向到了百度首頁。

前面幾節,我們學習了用 requests 構造頁面請求來爬取靜態網頁中的信息以及通過 requests 構造 Ajax 請求直接獲取返回的 JSON 信息。

還記得前幾節,我們在構造請求時會給請求加上瀏覽器 headers,目的就是為了讓我們的請求模擬瀏覽器的行為,防止被網站的反爬蟲策略限制。今天要介紹的 Selenium 是一款強大的工具,它可以控制我們的瀏覽器,這樣一來程序的行為就和人類完全一樣了。

通過使用 Selenium 可以解決幾個問題:

頁面內容是由 JavaScript 動態生成,通過 requests 請求頁面無法獲取內容。

爬蟲程序被反爬蟲策略限制

讓程序的行為和人一樣

安裝

pip install selenium

安裝瀏覽器驅動

驅動下載地址

下載后把驅動文件加入環境變量。或者直接把驅動文件和 Python腳本放到同一文件夾下面

測試
安裝完成后,可以編寫以下腳本來測試是否安裝成功。

from selenium import webdriver
driver = webdriver.Chrome()  # 創建一個 Chrome WebDriver 實例
driver.get("https://www.baidu.com/")  # 打開網址

運行后會發現程序自動打開了 Chrome 瀏覽器,并且定向到了百度首頁。

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

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("劉亦菲")  # 自動輸入 劉亦菲
submit = driver.find_element_by_id("su")  # 獲取到百度一下按鈕
submit.click()  # 點擊搜索

運行以上腳本,程序會自動打開 Chrome 瀏覽器,并自動搜索 劉亦菲

其他操作
Selenium 可以進行各種各樣的操作,使程序完全符合人類的操作習慣。下面看一下還有哪些功能。

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42529.html

相關文章

  • 零基礎如何學爬蟲技術

    摘要:楚江數據是專業的互聯網數據技術服務,現整理出零基礎如何學爬蟲技術以供學習,。本文來源知乎作者路人甲鏈接楚江數據提供網站數據采集和爬蟲軟件定制開發服務,服務范圍涵蓋社交網絡電子商務分類信息學術研究等。 楚江數據是專業的互聯網數據技術服務,現整理出零基礎如何學爬蟲技術以供學習,http://www.chujiangdata.com。 第一:Python爬蟲學習系列教程(來源于某博主:htt...

    KunMinX 評論0 收藏0
  • 爬蟲 + 自動化利器 selenium 之自學成才篇(二)

    摘要:耗時代碼運行到這句之后觸發隱式等待,在輪詢檢查后仍然沒有定位到元素,拋出異常。耗時值得一提的是,對于定位不到元素的時候,從耗時方面隱式等待和強制等待沒什么區別。 ...

    AWang 評論0 收藏0
  • ??爬蟲+自動化利器 selenium 之自學成才篇(一)??

    文章目錄 selenium 簡介selenium安裝安裝瀏覽器驅動確定瀏覽器版本下載驅動 定位頁面元素打開指定頁面id 定位name 定位class 定位tag 定位xpath 定位css 定位link 定位partial_link 定位 瀏覽器控制修改瀏覽器窗口大小瀏覽器前進&后退瀏覽器刷新瀏覽器窗口切換常見操作 鼠標控制單擊左鍵單擊右鍵雙擊拖動鼠標懸停 鍵盤控制 seleni...

    james 評論0 收藏0
  • BeautifulSoup:網頁解析利器上手簡介

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

    Carl 評論0 收藏0
  • Python爬蟲學習路線

    摘要:以下這些項目,你拿來學習學習練練手。當你每個步驟都能做到很優秀的時候,你應該考慮如何組合這四個步驟,使你的爬蟲達到效率最高,也就是所謂的爬蟲策略問題,爬蟲策略學習不是一朝一夕的事情,建議多看看一些比較優秀的爬蟲的設計方案,比如說。 (一)如何學習Python 學習Python大致可以分為以下幾個階段: 1.剛上手的時候肯定是先過一遍Python最基本的知識,比如說:變量、數據結構、語法...

    liaoyg8023 評論0 收藏0

發表評論

0條評論

RobinQu

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<