前面幾節,我們學習了用 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...