您好,登錄后才能下訂單哦!
爬蟲(chóng)可以簡(jiǎn)單分為幾步:抓取頁(yè)面、分析頁(yè)面、存儲(chǔ)數(shù)據(jù)。
在第一步抓取頁(yè)面的過(guò)程中,我們就需要模擬瀏覽器向服務(wù)器發(fā)出請(qǐng)求,所以需要用到一些 Python 庫(kù)來(lái)實(shí)現(xiàn) HTTP 請(qǐng)求操作,在本書(shū)中我們用到的第三方庫(kù)有 Requests、Selenium、Aiotttp 等。
在本節(jié)我們介紹一下這些請(qǐng)求庫(kù)的安裝方法。
由于 Requests 屬于第三方庫(kù),也就是 Python 默認(rèn)不會(huì)自帶這個(gè)庫(kù),需要我們手動(dòng)去安裝,下面我們首先看一下它的安裝過(guò)程。
pip3?install?requests
為了驗(yàn)證庫(kù)是否已經(jīng)安裝成功,可以在命令行下測(cè)試一下:
$ python3
>>> import requests
Python資源分享qun 784758214 ,內(nèi)有安裝包,PDF,學(xué)習(xí)視頻,這里是Python學(xué)習(xí)者的聚集地,零基礎(chǔ),進(jìn)階,都?xì)g迎
在命令行首先輸入 python3,進(jìn)入命令行模式,然后輸入如上內(nèi)容,如果什么錯(cuò)誤提示也沒(méi)有,那么就證明我們已經(jīng)成功安裝了 Requests。
Selenium 是一個(gè)自動(dòng)化測(cè)試工具,利用它我們可以驅(qū)動(dòng)瀏覽器執(zhí)行特定的動(dòng)作,如點(diǎn)擊、下拉等等操作,對(duì)于一些 JavaScript 渲染的頁(yè)面來(lái)說(shuō),此種抓取方式非常有效,下面我們來(lái)看下 Selenium 的安裝過(guò)程。
pip3?install?selenium
進(jìn)入 Python 命令行交互模式,導(dǎo)入一下 Selenium 包,如果沒(méi)有報(bào)錯(cuò),則證明安裝成功。
$ python3
>>> import selenium
但這樣還不夠,我們還需要瀏覽器如 Chrome、Firefox 等瀏覽器來(lái)配合 Selenium 工作。
下面我們會(huì)介紹 Chrome、Firefox、PhantomJS 三種瀏覽器的配置方式,有了瀏覽器我們才可以配合 Selenium 進(jìn)行頁(yè)面的抓取。
在上節(jié)我們成功安裝好了 Selenium 庫(kù),但是它是一個(gè)自動(dòng)化測(cè)試工具,需要瀏覽器來(lái)配合它使用,那么本節(jié)我們就介紹一下 Chrome 瀏覽器及 ChromeDriver 驅(qū)動(dòng)的配置。
首先需要下載一個(gè) Chrome 瀏覽器,方法多樣,在此不再贅述。
隨后我們需要安裝一個(gè) ChromeDriver 才能驅(qū)動(dòng) Chrome 瀏覽器完成相應(yīng)的操作,下面我們來(lái)介紹下怎樣安裝 ChromeDriver。
brew?install?chromedriver
如果安裝失敗,使用下面方法
brew cask?install?chromedriver
配置完成之后,就可以在命令行下直接執(zhí)行 chromedriver 命令了。
命令行下輸入:
chromedriver
輸入控制臺(tái)有類似輸出,如圖 1-17 所示:
圖 1-17 控制臺(tái)輸出
如果有類似輸出則證明 ChromeDriver 的環(huán)境變量配置好了。
隨后再在程序中測(cè)試,執(zhí)行如下 Python 代碼:
from selenium import webdriver
browser = webdriver.Chrome()
Python資源分享qun 784758214 ,內(nèi)有安裝包,PDF,學(xué)習(xí)視頻,這里是Python學(xué)習(xí)者的聚集地,零基礎(chǔ),進(jìn)階,都?xì)g迎
運(yùn)行之后會(huì)彈出一個(gè)空白的 Chrome 瀏覽器,證明所有的配置都沒(méi)有問(wèn)題,如果沒(méi)有彈出,請(qǐng)檢查之前的每一步的配置。
如果彈出之后閃退,則可能是 ChromeDriver 版本和 Chrome 版本不簡(jiǎn)容,請(qǐng)更換 ChromeDriver 版本。
如果沒(méi)有問(wèn)題,接下來(lái)我們就可以利用 Chrome 來(lái)做網(wǎng)頁(yè)抓取了。
既然 Chrome 可以通過(guò) Selenium 驅(qū)動(dòng),F(xiàn)irefox 也可以,如果想要實(shí)現(xiàn) Selenium 驅(qū)動(dòng) Firefox 瀏覽器可以參考下面的 GeckoDriver 的安裝。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。