摘要:上一篇文章網(wǎng)絡(luò)爬蟲實戰(zhàn)請求庫安裝下一篇文章網(wǎng)絡(luò)爬蟲實戰(zhàn)解析庫的安裝的安裝在上一節(jié)我們了解了的配置方法,配置完成之后我們便可以用來驅(qū)動瀏覽器來做相應(yīng)網(wǎng)頁的抓取。上一篇文章網(wǎng)絡(luò)爬蟲實戰(zhàn)請求庫安裝下一篇文章網(wǎng)絡(luò)爬蟲實戰(zhàn)解析庫的安裝
上一篇文章:Python3網(wǎng)絡(luò)爬蟲實戰(zhàn)---1、請求庫安裝:Requests、Selenium、ChromeDriver1.1.4 GeckoDriver的安裝
下一篇文章:Python3網(wǎng)絡(luò)爬蟲實戰(zhàn)---3、解析庫的安裝:LXML、BeautifulSoup、PyQuery、Tesserocr
在上一節(jié)我們了解了 ChromeDriver 的配置方法,配置完成之后我們便可以用 Selenium 來驅(qū)動 Chrome 瀏覽器來做相應(yīng)網(wǎng)頁的抓取。
那么對于 Firefox 來說,也可以使用同樣的方式完成 Selenium 的對接,這時需要安裝另一個驅(qū)動 GeckoDriver。
本節(jié)來介紹一下 GeckoDriver 的安裝過程。
GitHub:https://github.com/mozilla/ge...
下載地址:https://github.com/mozilla/ge...
2. MAC安裝方式brew install GeckoDriver3. 驗證安裝
配置完成之后,就可以在命令行下直接執(zhí)行 geckodriver 命令測試。
命令行下輸入:
geckodriver
這時控制臺應(yīng)該有類似輸出,如圖 1-20 所示:
圖 1-20 控制臺輸出
如果有類似輸出則證明 GeckoDriver 的環(huán)境變量配置好了。
隨后再在程序中測試,執(zhí)行如下 Python 代碼:
from selenium import webdriver browser = webdriver.Firefox()
運行之后會彈出一個空白的 Firefox 瀏覽器,證明所有的配置都沒有問題,如果沒有彈出,請檢查之前的每一步的配置。
如果沒有問題,接下來我們就可以利用 Firefox 配合 Selenium 來做網(wǎng)頁抓取了。
到現(xiàn)在位置我們就可以使用 Chrome 或 Firefox 進行網(wǎng)頁抓取了,但是這樣可能有個不方便之處,因為程序運行過程中需要一直開著瀏覽器,在爬取網(wǎng)頁的過程中瀏覽器可能一直動來動去,著實不方便。目前最新的 Chrome 瀏覽器版本已經(jīng)支持了無界面模式,但如果版本較舊就不支持。所以在這里還有另一種方便的選擇就是安裝一個無界面瀏覽器 PhantomJS,抓取過程會在后臺運行,不會再有窗口出現(xiàn),這樣就方便了很多,所以在下一節(jié)我們再了解一下 PhantomJS 的相關(guān)安裝方法。
1.1.5 PhantomJS的安裝如果我們使用 Chrome 或 Firefox 進行網(wǎng)頁抓取的話,每次抓取的時候,都會彈出一個瀏覽器,比較影響使用。所以在這里再介紹一個無界面瀏覽器,叫做 PhantomJS。
PhantomJS 是一個無界面的,可腳本編程的 WebKit 瀏覽器引擎。它原生支持多種 web 標(biāo)準(zhǔn):DOM 操作,CSS 選擇器,JSON,Canvas 以及 SVG。
Selenium 支持 PhantomJS,這樣在運行的時候就不會再彈出一個瀏覽器了,而且其運行效率也是很高的,還支持各種參數(shù)配置,使用非常方便,下面我們就來了解一下 PhantomJS 的安裝過程。
官方網(wǎng)站:http://phantomjs.org
官方文檔:http://phantomjs.org/quick-st...
下載地址:http://phantomjs.org/download...
API接口說明:http://phantomjs.org/api/comm...
2. MAC安裝brew cask install phantomjs3. 驗證安裝
在 Selenium 中使用的話,我們只需要將 Chrome 切換為 PhantomJS 即可。
from selenium import webdriver browser = webdriver.PhantomJS() browser.get("https://www.baidu.com") print(browser.current_url)
運行之后我們就不會發(fā)現(xiàn)有瀏覽器彈出了,但實際上 PhantomJS 已經(jīng)運行起來了,在這里我們訪問了百度,然后將當(dāng)前的 URL 打印出來。
控制臺輸出如下:
https://www.baidu.com/
如此一來我們便完成了 PhantomJS 的配置,在后面我們可以利用它來完成一些頁面的抓取。
4. 結(jié)語以上三節(jié)我們介紹了 Selenium 對應(yīng)的三大主流瀏覽器的對接方式,在后文我們會對 Selenium 及各個瀏覽器的對接方法進行更加深入的探究。
1.1.6 Aiohttp的安裝之前我們介紹的 Requests 庫是一個阻塞式 HTTP 請求庫,當(dāng)我們發(fā)出一個請求后,程序會一直等待服務(wù)器的響應(yīng),直到得到響應(yīng)后程序才會進行下一步的處理,其實這個過程是比較耗費資源的。如果程序可以在這個等待過程中做一些其他的事情,如進行請求的調(diào)度、響應(yīng)的處理等等,那么爬取效率一定會大大提高。
Aiohttp 就是這樣一個提供異步 Web 服務(wù)的庫,從 Python3.5 版本開始,Python 中加入了 async/await 關(guān)鍵字,使得回調(diào)的寫法更加直觀和人性化,Aiohttp的異步操作借助于 async/await 關(guān)鍵字寫法變得更加簡潔,架構(gòu)更加清晰。使用異步請求庫來進行數(shù)據(jù)抓取會大大提高效率,下面我們來看一下這個庫的安裝方法。
1. 相關(guān)鏈接官方文檔:http://aiohttp.readthedocs.io...
GitHub:https://github.com/aio-libs/a...
PyPi:https://pypi.python.org/pypi/...
2. 安裝推薦使用 Pip 安裝,命令如下:
pip3 install aiohttp
另外官方還推薦安裝如下兩個庫,一個是字符編碼檢測庫 cchardet,另一個是加速 DNS 解析庫 aiodns,安裝命令如下:
pip3 install cchardet aiodns3. 測試安裝
安裝完成之后,可以在 Python 命令行下測試。
$ python3 >>> import aiohttp
如果沒有錯誤報出,則證明庫已經(jīng)安裝好了。
4. 結(jié)語我們會在后面的實例中用到這個庫,比如維護一個代理池,利用異步方式檢測大量代理的運行狀況,極大提高效率。
上一篇文章:Python3網(wǎng)絡(luò)爬蟲實戰(zhàn)---1、請求庫安裝:Requests、Selenium、ChromeDriver
下一篇文章:Python3網(wǎng)絡(luò)爬蟲實戰(zhàn)---3、解析庫的安裝:LXML、BeautifulSoup、PyQuery、Tesserocr
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/44019.html
摘要:下一篇文章網(wǎng)絡(luò)爬蟲實戰(zhàn)請求庫安裝爬蟲可以簡單分為幾步抓取頁面分析頁面存儲數(shù)據(jù)。相關(guān)鏈接官方網(wǎng)站官方文檔中文文檔安裝驗證安裝進入命令行交互模式,導(dǎo)入一下包,如果沒有報錯,則證明安裝成功。 下一篇文章:Python3網(wǎng)絡(luò)爬蟲實戰(zhàn)---2、請求庫安裝:GeckoDriver、PhantomJS、Aiohttp 爬蟲可以簡單分為幾步:抓取頁面、分析頁面、存儲數(shù)據(jù)。 在第一步抓取頁面的過程中,...
摘要:運行結(jié)果如果運行結(jié)果一致則證明安裝成功。上一篇文章網(wǎng)絡(luò)爬蟲實戰(zhàn)請求庫安裝下一篇文章網(wǎng)絡(luò)爬蟲實戰(zhàn)數(shù)據(jù)庫的安裝 上一篇文章:Python3網(wǎng)絡(luò)爬蟲實戰(zhàn)---2、請求庫安裝:GeckoDriver、PhantomJS、Aiohttp下一篇文章:Python3網(wǎng)絡(luò)爬蟲實戰(zhàn)---數(shù)據(jù)庫的安裝:MySQL、MongoDB、Redis 抓取下網(wǎng)頁代碼之后,下一步就是從網(wǎng)頁中提取信息,提取信息的方式有...
摘要:所以如果對爬蟲有一定基礎(chǔ),上手框架是一種好的選擇。缺少包,使用安裝即可缺少包,使用安裝即可上一篇文章網(wǎng)絡(luò)爬蟲實戰(zhàn)爬取相關(guān)庫的安裝的安裝下一篇文章網(wǎng)絡(luò)爬蟲實戰(zhàn)爬蟲框架的安裝 上一篇文章:Python3網(wǎng)絡(luò)爬蟲實戰(zhàn)---9、APP爬取相關(guān)庫的安裝:Appium的安裝下一篇文章:Python3網(wǎng)絡(luò)爬蟲實戰(zhàn)---11、爬蟲框架的安裝:ScrapySplash、ScrapyRedis 我們直接...
摘要:,引言注釋上一篇爬蟲實戰(zhàn)安居客房產(chǎn)經(jīng)紀(jì)人信息采集,訪問的網(wǎng)頁是靜態(tài)網(wǎng)頁,有朋友模仿那個實戰(zhàn)來采集動態(tài)加載豆瓣小組的網(wǎng)頁,結(jié)果不成功。 showImg(https://segmentfault.com/img/bVzdNZ); 1, 引言 注釋:上一篇《Python爬蟲實戰(zhàn)(3):安居客房產(chǎn)經(jīng)紀(jì)人信息采集》,訪問的網(wǎng)頁是靜態(tài)網(wǎng)頁,有朋友模仿那個實戰(zhàn)來采集動態(tài)加載豆瓣小組的網(wǎng)頁,結(jié)果不成功...
摘要:項目簡介本實驗通過使用實現(xiàn)一個淘寶女郎圖片收集爬蟲,學(xué)習(xí)并實踐及正則表達式等知識。本教程由阿發(fā)布在實驗樓,完整教程及在線練習(xí)地址實現(xiàn)淘女郎照片爬蟲,可以直接在教程中下載代碼使用。 showImg(https://segmentfault.com/img/bVBgrF); 項目簡介:本實驗通過使用 Python 實現(xiàn)一個淘寶女郎圖片收集爬蟲,學(xué)習(xí)并實踐 BeautifulSoup、Sel...
閱讀 925·2021-11-25 09:43
閱讀 1299·2021-11-17 09:33
閱讀 3018·2019-08-30 15:44
閱讀 3315·2019-08-29 17:16
閱讀 485·2019-08-28 18:20
閱讀 1643·2019-08-26 13:54
閱讀 557·2019-08-26 12:14
閱讀 2177·2019-08-26 12:14