91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3網絡爬蟲實戰-2、請求庫安裝:GeckoDriver、PhantomJS、Aiohtt

發布時間:2020-07-31 17:28:00 來源:網絡 閱讀:187 作者:學Python派森 欄目:編程語言

1.1.4 GeckoDriver的安裝

在上一節我們了解了 ChromeDriver 的配置方法,配置完成之后我們便可以用 Selenium 來驅動 Chrome 瀏覽器來做相應網頁的抓取。
那么對于 Firefox 來說,也可以使用同樣的方式完成 Selenium 的對接,這時需要安裝另一個驅動 GeckoDriver。
本節來介紹一下 GeckoDriver 的安裝過程。

1. 相關鏈接
  • GitHub:https://github.com/mozilla/ge...
  • 下載地址:https://github.com/mozilla/ge...
2. MAC安裝方式
brew?install?GeckoDriver
3. 驗證安裝

配置完成之后,就可以在命令行下直接執行 geckodriver 命令測試。
命令行下輸入:
geckodriver
這時控制臺應該有類似輸出,如圖 1-20 所示:

Python3網絡爬蟲實戰-2、請求庫安裝:GeckoDriver、PhantomJS、Aiohtt

圖 1-20 控制臺輸出
如果有類似輸出則證明 GeckoDriver 的環境變量配置好了。
隨后再在程序中測試,執行如下 Python 代碼:

from selenium import webdriver
browser = webdriver.Firefox()
Python資源分享qun 784758214 ,內有安裝包,PDF,學習視頻,這里是Python學習者的聚集地,零基礎,進階,都歡迎

運行之后會彈出一個空白的 Firefox 瀏覽器,證明所有的配置都沒有問題,如果沒有彈出,請檢查之前的每一步的配置。
如果沒有問題,接下來我們就可以利用 Firefox 配合 Selenium 來做網頁抓取了。

4. 結語

到現在位置我們就可以使用 Chrome 或 Firefox 進行網頁抓取了,但是這樣可能有個不方便之處,因為程序運行過程中需要一直開著瀏覽器,在爬取網頁的過程中瀏覽器可能一直動來動去,著實不方便。目前最新的 Chrome 瀏覽器版本已經支持了×××面模式,但如果版本較舊就不支持。所以在這里還有另一種方便的選擇就是安裝一個×××面瀏覽器 PhantomJS,抓取過程會在后臺運行,不會再有窗口出現,這樣就方便了很多,所以在下一節我們再了解一下 PhantomJS 的相關安裝方法。

1.1.5 PhantomJS的安裝

如果我們使用 Chrome 或 Firefox 進行網頁抓取的話,每次抓取的時候,都會彈出一個瀏覽器,比較影響使用。所以在這里再介紹一個×××面瀏覽器,叫做 PhantomJS。
PhantomJS 是一個×××面的,可腳本編程的 WebKit 瀏覽器引擎。它原生支持多種 web 標準:DOM 操作,CSS 選擇器,JSON,Canvas 以及 SVG。
Selenium 支持 PhantomJS,這樣在運行的時候就不會再彈出一個瀏覽器了,而且其運行效率也是很高的,還支持各種參數配置,使用非常方便,下面我們就來了解一下 PhantomJS 的安裝過程。

1. 相關鏈接
  • 官方網站:http://phantomjs.org
  • 官方文檔:http://phantomjs.org/quick-st...
  • 下載地址:http://phantomjs.org/download...
  • API接口說明:http://phantomjs.org/api/comm...
2. MAC安裝
brew cask?install?phantomjs
3. 驗證安裝

在 Selenium 中使用的話,我們只需要將 Chrome 切換為 PhantomJS 即可。

from selenium import webdriver
browser = webdriver.PhantomJS()
browser.get('https://www.baidu.com')
print(browser.current_url)

運行之后我們就不會發現有瀏覽器彈出了,但實際上 PhantomJS 已經運行起來了,在這里我們訪問了百度,然后將當前的 URL 打印出來。
控制臺輸出如下:

https://www.baidu.com/

如此一來我們便完成了 PhantomJS 的配置,在后面我們可以利用它來完成一些頁面的抓取。

4. 結語

以上三節我們介紹了 Selenium 對應的三大主流瀏覽器的對接方式,在后文我們會對 Selenium 及各個瀏覽器的對接方法進行更加深入的探究。

1.1.6 Aiohttp的安裝

之前我們介紹的 Requests 庫是一個阻塞式 HTTP 請求庫,當我們發出一個請求后,程序會一直等待服務器的響應,直到得到響應后程序才會進行下一步的處理,其實這個過程是比較耗費資源的。如果程序可以在這個等待過程中做一些其他的事情,如進行請求的調度、響應的處理等等,那么爬取效率一定會大大提高。

Aiohttp 就是這樣一個提供異步 Web 服務的庫,從 Python3.5 版本開始,Python 中加入了 async/await 關鍵字,使得回調的寫法更加直觀和人性化,Aiohttp的異步操作借助于 async/await 關鍵字寫法變得更加簡潔,架構更加清晰。使用異步請求庫來進行數據抓取會大大提高效率,下面我們來看一下這個庫的安裝方法。

1. 相關鏈接
  • 官方文檔: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 aiodns
3. 測試安裝

安裝完成之后,可以在 Python 命令行下測試。

$ python3
>>> import aiohttp
Python資源分享qun 784758214 ,內有安裝包,PDF,學習視頻,這里是Python學習者的聚集地,零基礎,進階,都歡迎

如果沒有錯誤報出,則證明庫已經安裝好了。

4. 結語

我們會在后面的實例中用到這個庫,比如維護一個代理池,利用異步方式檢測大量代理的運行狀況,極大提高效率。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洱源县| 霍邱县| 德格县| 阿合奇县| 华池县| 民勤县| 彭山县| 霍邱县| 留坝县| 双流县| 客服| 南溪县| 昔阳县| 南京市| 习水县| 无棣县| 日土县| 繁峙县| 罗山县| 桃源县| 伊通| 汉沽区| 达拉特旗| 黎川县| 新干县| 崇阳县| 治县。| 高密市| 达州市| 霞浦县| 清河县| 开阳县| 濉溪县| 武山县| 米易县| 黄山市| 武功县| 合川市| 手游| 高淳县| 始兴县|