您好,登錄后才能下訂單哦!
本文主要給大家介紹LXML、BeautifulSoup、PyQuer等解析庫安裝教程,其所涉及的東西,從理論知識來獲悉,有很多書籍、文獻可供大家參考,從現(xiàn)實意義角度出發(fā),億速云累計多年的實踐經(jīng)驗可分享給大家。
抓取下網(wǎng)頁代碼之后,下一步就是從網(wǎng)頁中提取信息,提取信息的方式有多種多樣,可以使用正則來提取,但是寫起來會相對比較繁瑣。在這里還有許多強大的解析庫,如 LXML、BeautifulSoup、PyQuery 等等,提供了非常強大的解析方法,如 XPath 解析、CSS 選擇器解析等等,利用它們我們可以高效便捷地從從網(wǎng)頁中提取出有效信息。
本節(jié)我們就來介紹一下這些庫的安裝過程。
LXML 是 Python 的一個解析庫,支持 HTML 和 XML 的解析,支持 XPath 解析方式,而且解析效率非常高。
pip3 install lxml
如果產(chǎn)生錯誤,可以執(zhí)行如下命令將必要的類庫安裝:
xcode-select --install
Python資源分享qun 784758214 ,內(nèi)有安裝包,PDF,學(xué)習視頻,這里是Python學(xué)習者的聚集地,零基礎(chǔ),進階,都歡迎
之后再重新運行 Pip 安裝就沒有問題了。
LXML 是一個非常重要的庫,后面的 BeautifulSoup、Scrapy 框架都需要用到此庫,所以請一定安裝成功。
安裝完成之后,可以在 Python 命令行下測試。
$ python3
>>> import lxml
如果沒有錯誤報出,則證明庫已經(jīng)安裝好了。
BeautifulSoup 是 Python 的一個 HTML 或 XML 的解析庫,我們可以用它來方便地從網(wǎng)頁中提取數(shù)據(jù),它擁有強大的 API 和多樣的解析方式,本節(jié)我們了解下它的安裝方式。
BeautifulSoup 的 HTML 和 XML 解析器是依賴于 LXML 庫的,所以在此之前請確保已經(jīng)成功安裝好了 LXML 庫,具體的安裝方式參見上節(jié)。
目前 BeautifulSoup 的最新版本是 4.x 版本,之前的版本已經(jīng)停止開發(fā)了,推薦使用 Pip 來安裝,安裝命令如下:
pip3 install beautifulsoup4
命令執(zhí)行完畢之后即可完成安裝。
安裝完成之后可以運行下方的代碼驗證一下。
from bs4 import BeautifulSoup
soup = BeautifulSoup('<p>Hello</p>', 'lxml')
print(soup.p.string)
運行結(jié)果:
Hello
如果運行結(jié)果一致則證明安裝成功。
注意在這里我們雖然安裝的是 beautifulsoup4 這個包,但是在引入的時候是引入的 bs4,這是因為這個包源代碼本身的庫文件夾名稱就是 bs4,所以安裝完成之后,這個庫文件夾就被移入到我們本機 Python3 的 lib 庫里,所以識別到的庫文件名稱就叫做 bs4,所以我們引入的時候就引入 bs4 這個包。
因此,包本身的名稱和我們使用時導(dǎo)入的包的名稱并不一定是一致的。
PyQuery 同樣是一個強大的網(wǎng)頁解析工具,它提供了和 jQuery 類似的語法來解析 HTML 文檔,支持 CSS 選擇器,使用非常方便,本節(jié)我們了解下它的安裝方式。
pip3 install pyquery
安裝完成之后,可以在 Python 命令行下測試。
$ python3
>>> import pyquery
如果沒有錯誤報出,則證明庫已經(jīng)安裝好了。
爬蟲過程中難免會遇到各種各樣的驗證碼,而大多數(shù)驗證碼還是圖形驗證碼,這時候我們可以直接用 OCR 來識別。
OCR,即 Optical Character Recognition,光學(xué)字符識別。是指通過掃描字符,然后通過其形狀將其翻譯成電子文本的過程。那么對于圖形驗證碼來說,它都是一些不規(guī)則的字符,但是這些字符確實是由字符稍加扭曲變換得到的內(nèi)容。
例如這樣的驗證碼,如圖 1-22 和 1-23 所示:
圖 1-22 驗證碼
圖 1-23 驗證碼
對于這種驗證碼,我們便可以使用 OCR 技術(shù)來將其轉(zhuǎn)化為電子文本,然后爬蟲將識別結(jié)果提交給云服務(wù)器,便可以達到自動識別驗證碼的過程。
Tesserocr 是 Python 的一個 OCR 識別庫,但其實是對 Tesseract 做的一層 Python API 封裝,所以它的核心是 Tesseract,所以在安裝 Tesserocr 之前我們需要先安裝 Tesseract,本節(jié)我們來了解下它們的安裝方式。
Mac 下首先使用 Homebrew 安裝 Imagemagick 和 Tesseract 庫:
brew install imagemagick
brew install tesseract
Python資源分享qun 784758214 ,內(nèi)有安裝包,PDF,學(xué)習視頻,這里是Python學(xué)習者的聚集地,零基礎(chǔ),進階,都歡迎
接下來再安裝 Tesserocr 即可:
pip3 install tesserocr pillow
這樣我們便完成了 Tesserocr 的安裝。
接下來我們可以使用 Tesseract 和 Tesserocr 來分別進行測試。
下面我們以如下的圖片為樣例進行測試,如圖 1-26 所示:
圖 1-26 測試樣例
圖片鏈接為:https://raw.githubusercontent...,可以直接保存或下載。
我們首先用命令行進行測試,將圖片下載保存為 image.png,然后用 Tesseract 命令行測試,命令如下:
tesseract image.png result -l eng && cat result.txt
運行結(jié)果:
Tesseract Open Source OCR Engine v3.05.01 with Leptonica
Python3WebSpider
我們調(diào)用了 tesseract 命令,第一個參數(shù)為圖片名稱,第二個參數(shù) result 為結(jié)果保存的目標文件名稱,-l 指定使用的語言包,在此使用 eng 英文,然后再用 cat 命令將結(jié)果輸出。
第二行的運行結(jié)果便是圖片的識別結(jié)果,Python3WebSpider。
我們可以看到這時已經(jīng)成功將圖片文字轉(zhuǎn)為電子文本了。
然后我們還可以利用 Python 代碼來測試,這里就需要借助于 Tesserocr 庫了,測試代碼如下:
import tesserocr
from PIL import Image
image = Image.open('image.png')
print(tesserocr.image_to_text(image))
如果在運行期間python3閃退,出現(xiàn)下面錯誤:
!strcmp(locale, "C"):Error:Assert failed:in file baseapi.cpp, line 209
就需要這樣運行了:
import locale locale.setlocale(locale.LC_ALL,'C') import tesserocr from PIL import Image image = Image.open('image.png') print(tesserocr.image_to_text(image))
在這里我們首先利用 Image 讀取了圖片文件,然后調(diào)用了 tesserocr 的 image_to_text() 方法,再將將其識別結(jié)果輸出。
運行結(jié)果:
Python3WebSpider
另外我們還可以直接調(diào)用 file_to_text() 方法,也可以達到同樣的效果:
import tesserocr
print(tesserocr.file_to_text('image.png'))
Python資源分享qun 784758214 ,內(nèi)有安裝包,PDF,學(xué)習視頻,這里是Python學(xué)習者的聚集地,零基礎(chǔ),進階,都歡迎
運行結(jié)果:
Python3WebSpider
如果成功輸出結(jié)果,則證明 Tesseract 和 Tesserocr 都已經(jīng)安裝成功。
看了以上LXML、BeautifulSoup、PyQuer等解析庫安裝教程介紹,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,大家可以繼續(xù)關(guān)注億速云行業(yè)資訊板塊,會定期給大家更新行業(yè)新聞和知識,如有需要更加專業(yè)的解答,可在官網(wǎng)聯(lián)系我們的24小時售前售后,隨時幫您解答問題的。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。