Python 爬蟲利器 Selenium

2021-09-13 11:16:13 字數 1034 閱讀 7034

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

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

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

安裝pip install selenium測試

安裝完成後,可以編寫以下指令碼來測試是否安裝成功。

from selenium import webdriver

driver = webdriver.chrome() # 建立乙個 chrome webdriver 例項

driver.get('') # 開啟**

與頁面互動

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('')

search_input.send_keys("劉亦菲") # 自動輸入 劉亦菲

執行以上指令碼,程式會自動開啟 chrome 瀏覽器,並自動搜尋 劉亦菲

其他操作

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

具體可以看官方文件,這裡貼一下位址

Python 爬蟲利器 Selenium

前面幾節,我們學習了用 requests 構造頁面請求來爬取靜態網頁中的資訊以及通過 requests 構造 ajax 請求直接獲取返回的 json 資訊。還記得前幾節,我們在構造請求時會給請求加上瀏覽器 headers,目的就是為了讓我們的請求模擬瀏覽器的行為,防止被 的反爬蟲策略限制。今天要介紹...

python爬蟲利器 request庫

request庫比urllib2庫更為高階,因為其功能更強大,更易於使用。使用該庫可以十分方便我們的抓取。基本請求 r requests.get r requests.post r requests.put r requests.delete r requests.head r requests.o...

Python爬蟲利器之selenium有無介面

selenium通過模擬瀏覽器完成一些操作,但是在一些伺服器上是沒有圖形介面的,自然使用selenium操作需要在無介面操作。from selenium import webdriver driver webdriver.chrome driver.get driver.quit python3 f...