最全python爬虫库安装详解
目錄
一、請求庫的安裝
1.requests 的安裝
2.Selenium的安裝
3.ChromeDrive 的安裝
4.GeckoDriver 的安裝
5.PhantomJS 的安裝
6.aiohttp 的安裝
二、解析庫的安裝
1.lxml 的安裝
2.Beautiful Soup 的安裝
3.pyquery 的安裝
4.tesserocr 的安裝
一、請求庫的安裝
????????爬蟲可以簡單分為幾步:抓取頁面、分析頁面和存儲數據 ????????在抓取頁面的過程中 ,我們需要模擬瀏覽器向服務器發出請求,所以需要用到一些 Python 庫來實現HTTP請求操作 ? ? ? ? 接下來,我們介紹一下這些請求庫的安裝方法1、requests 的安裝
1. 相關鏈接
- GitHub:https://github.com/requests/requests
- PyPI:requests · PyPI
- 官方文檔:http://www.python-requests.org
- 中文文檔:http://docs.python-requests.org/zh_CN/latest
?2 . pip 安裝
pip install requests2、Selenium的安裝
????????Selenium是一個自動化測試工具,利用它我們可以驅動瀏覽器執行特定的動作,如點擊、下拉等操作對于一些JavaScript誼染的頁面來說,這種抓取方式非常有效。1.相關鏈接
- 官方網站:https://www.seleniumhq.org
- GitHub: selenium/py at trunk · SeleniumHQ/selenium · GitHub
- PyPI: https://pypi.python.org/pypi/selenium
- 官方文梢:https://selenium-python.readthedocs.io
- 中文文檔:Selenium with Python中文翻譯文檔 — Selenium-Python中文文檔 2 documentation
?2.pip 安裝
pip install selenium3、ChromeDrive 的安裝
?????????前面我們成功安裝好了Selenium庫,但是他是一個自動化測試工具,需要瀏覽器來配合使用。
????????首先,下載 hrome 瀏覽器。
????????隨后安裝 ChromeDriver 因為只有安裝 ChromeDriver ,才能驅動 Chrome 瀏覽器完成相應的操作 下面我們來介紹下怎樣安裝 ChromeDriver。
- 官方網站:?https://sites.google.com/a/chromium.org/chrome.ver
- 下載地址 :https://chromedriver.storage.googleapis.com/index.html
?2.準備工作
????????在這之前請確保已經正確安裝好了 Chrome 瀏覽器并可以正常運行,安裝過程不再贅述 3. 查看版本 ????????點擊 chrome 菜單“幫助”→“關于 Google Chrome”,即可查看 Chrome 的版本號 這里我的 Chrome 版本是 96.0 請記住 Chrome 版本號,因為選擇 ChromeDriver 版本時需要用到4. 下載 ChromeDriver?
?????????打開 ChromeDriver 的官方網站,可以看到最新版本為 96.04664.18?,其支持的 Chrome 瀏覽器版本為?96.04664
????????如果你的 Chrome 版本號不在此范圍,可以繼續查看之前的 hromeDriver 每個版本都有相 應的支持 Chrome 版本的介紹,請找好自己的 Chrome 瀏覽器版本對應的 ChromeDriv er 版本再下載, 否則可能無法正常工作 ????????找好對應的版本號后,隨后到 hromeDriver 鏡像站下載對應的安裝包即可:https://chromedriver.storage.googleapis.com/index.html 在不同平臺下,可以下載不同的安裝包
?5.環境變量配置
下載完成后,將 hromeDriver 的可執行文件配置到環境變量下 在Windows?下,建議直接將 hromedriver.exe 文件拖到 Python Scripts 目錄下?
?6. 驗證安裝
????????配置完成后,就可以在命令行下直接執行 chromedriver 命令了: chromedriver?? ? ? ?隨后再在程序中測 Python 代碼:
from selenium import webdriver browser = webdriver.Chrome()?返回:
?????????運行之后 如果彈出一個空Chrome 瀏覽器,則證明所有的配置都沒有問題。如果沒有彈出,
請檢查之前的每一步配置。 ????????如果彈出閃退則可能 ChromeDriver 版本和 Chrome 版本不兼容 ,請更換 ChromeDriver版本。如果沒有問題 ,接下來就可以利用 Chrome 來做網頁抓取了4.GeckoDriver 的安裝
? ? ? ? ?上面,我們了解了ChromeDriver的配置方法,配置完成后可以用Selenium驅動Chrome瀏覽器做對應的網頁抓取。
? ? ? ? 那么對應Firefox來說,也可以用同樣的方式完成Selenium的對接,這時需要安裝另一個驅動GeckoDriver,接下來我們接受一下它的安裝過程。
1. 相關鏈接- GitHub: GitHub - mozilla/geckodriver: WebDriver for Firefox
- 下載地址:?Releases · mozilla/geckodriver · GitHub
?2. 準備工作
????????確保已經正確安裝了Firefox瀏覽器并且能正常運行。
3.下載 GeckoDriver
? ? ? ? 在GitHub 上找 GeckoDriver 的發行版,并找到最新版的,如下是0.30
?因我的電腦是win10,64位的所以下載如圖的
?
?4. 環境變量配置
在Windows 下,可以直接 geckodriver.exe 文件拖到 Python Scripts 錄下,如ChromeDrive 的安裝一樣 5. 驗證安裝 配置完成后,就可以在命令行下直接執行 geckodriver 命令測試: geckodriver?返回如下,則證明安裝成功且配置正確
????????隨后執行如下 Python 代碼 在程序中測試一下 from selenium import webdriver browser = webdriver.Firefox()
?返回,不知為啥這次pycharm里運行會報錯,于是我用了Anaconda運行
????????運行之后,若彈出一個空內的 firefox 瀏覽器,則證明所有的配置都沒有問題 ;如果沒有彈出, 請檢查之前的每一步配置
5.PhantomJS 的安裝
????????PhantomJS 是一個無界面 、可腳本編程的 WebKit 瀏覽器引擎,它原生支持多 Web 標準 DOM 操作、 ss 選擇器、 JSON Canvas 以及 SVG。 ????????Selenium 支持 PhantomJS ,這樣在運行的時候就不會再彈出 個瀏覽器了 而且 PhantomJS 的運 行效率也很高,還支持各種參數配置,使用非常方便 下面我 就來了解一下 PhantomJS 安裝過程。 1. 相關鏈接- 官方網站: PhantomJS - Scriptable Headless Browser
- 官方文梢:Quick Start with PhantomJS
- 下載地址1: Download PhantomJS
- 下載地址2:
- API 接門說明:Command Line Interface | PhantomJS
3. 驗證安裝 首先在命令提示符里輸入?phantomjs并回車返回如下,證明成功了 在Selenium 中使用的話,我們只需要將 Chrome 切換為 PhantomJS 即可: from selenium import webdriver browser = webdriver.PhantomJS() browser.get('https://www.baidu.com') print(browser.current_url)
?如果返回如下,則說明selenium版本過高,需要安裝低版本的,因為最新版已經放棄了phantomjs
1.先把selenium卸載,代碼如下:
pip uninstall selenium
2.安裝selenium==2.48.0版本的,代碼如下:
pip install selenium==2.48.0
完美運行成功!!!!!
?返回:
?
????????運行之后,我們就不會發現有瀏覽器彈出了,但實際上 PhantomJS 已經運行起來了 這里我們訪 問了百度,然后將當前的 URL 打印出來 ????????控制臺的輸出如下 ????????https: //www.baidu.com/ ????????如此一來,我們便完成了 PhantomJS 的配置,后面可以利用它來完成一些頁面的抓取6.aiohttp 的安裝
????????requests 庫是一個阻塞式 HTTP 請求庫,當我們發出一個請求后程序會一直等待服務器響應,直到得到響應后,程序才會進行下 步處理 其實,這個過程比較耗費時間 如果程序可以在這個等待過程中做一些其他的事情,如進行請求的調度 響應的處理等,那么爬取效率一定會大大提高?。 ? ? ? ? aiohttp 就是這樣一個提供異步 Web?服務的庫,從 Python3.5版本開始,python 中加入了 async/await?關鍵字,使得回調的寫法更加直觀和人性 aiohttp即的異步操作借助于 async/await 關鍵字的寫法變 得更加簡潔,架構更加清晰使用異步請求庫進行數據抓取時,會大大提高效率,下面我 來看一下這個庫的安裝方法: 1.相關鏈接- 官方文檔: Welcome to AIOHTTP — aiohttp 3.8.1 documentation
- GitHub: GitHub - aio-libs/aiohttp: Asynchronous HTTP client/server framework for asyncio and Python
- PyPI: aiohttp · PyPI
?2. pip 安裝
pip install aiohttp ????????另外,官方還推薦安裝如下兩個庫個是字符編碼檢測庫cchardet ,另一個是加速DNS解析aiodns 安裝命令如下: pip?install cchardet aiodns二、解析庫的安裝
1、lxml 的安裝
????????lxm是Python的一個解析庫,支持 HTML和XML的解析,支持XPath 解析方式,而且解析效 率非常高。接下來,我們了解一下 lxml 安裝方式。 1.相關鏈接- 官方網站:lxml - Processing XML and HTML with Python
- GitHub:?https://github.com/lxml/lxml
- PyPI: https://pypi.org/pyp/lxml
?如果沒有錯誤報出,則證明庫已經安裝好了
2.Beautiful Soup 的安裝
????????Beautiful Soup是Python HTML或XML 的解析庫,我們可以用它來方便地從網頁中提取 數據。它擁有強大的API 多樣的解析方式。 1. 相關鏈接- 官方文檔:Beautiful Soup Documentation — Beautiful Soup 4.9.0 documentation
- 中文文檔:Beautiful Soup 4.4.0 文檔 — Beautiful Soup 4.2.0 documentation
- PyPI: beautifulsoup4 · PyPI
運行結果如下:
運行一致,則證明安裝成功。
3.pyquery 的安裝
????????pyquery 是 個強大的網頁解析工具,它提供了和 jQuery 類似的語法來解析 HTML 文梢,支持CSS選擇器,使用非常方便。 1. 相關鏈接- GitHub: GitHub - gawel/pyquery: A jquery-like library for python
- PyPI : pyquery · PyPI
- 官方文檔:pyquery: a jquery-like library for python — pyquery 1.3.x documentation
運行結果如下:
運行沒有報錯,則證明安裝成功。
4.tesserocr 的安裝
????????在爬蟲過程中,難免會遇到各種各樣的驗證碼,而大多數驗證碼還是圖形驗證碼,這時候我們 以直接用 OCR 來識別。1.OCR
????????OCR ,即 Optical Character Recognition ,光學字符識別,是指通過掃描字符,然后通過其形狀將其翻譯成電子文本的過程。對于圖形驗證碼來說,它們都是一些不規則的字符 ,這些字符確實是由字符稍加扭曲變換得到的內容 ? ? ? ? tesserocr是Python的一個 OCR 識別庫,但其實是對 tesseract 做的 一層Python API 封裝,所以它的核心是 tesseract?因此,在安裝 tesserocr 前,我們需要先安裝tesseract 。 2.相關鏈接- tesserocr GitHub: GitHub - sirfz/tesserocr: A Python wrapper for the tesseract-ocr API
- tesserocr Py PI: tesserocr · PyPI
- tesserac 下載地址:Index of /tesseract
- tesserac GitHub :https://github.com/tesseract-ocr/tesseract
- tesserac 語言包 :https://github.com/tesseract-ocr/tessdata
- tesseract 文檔:?Manual Pages | tessdoc
?下載完成后雙擊,?好像沒有中文版的
然后一直點 next 和 i agree 就行,直到
????????此時可以句選 Additional language data download 選項來安裝 OCR 識別支持的語 包,這樣 OCR 便可以識別多國語言 然后一直點擊 Next 按鈕即可 接下來 再安裝 tesserocr 即可,此時直接使用 pip 安裝 pip install tesserocr pillow #或 pip3 install tesserocr pillow4.驗證安裝
接下來,我們可以使用 tesseract tesserocr 來分別進行測試下面這張圖片 首先,用 tesseract 命令測試:?打開照片所在文件夾,按住 shift 擊右鍵 打開 powershell窗口 輸入下面命令:
tesseract image.png stdout -l eng得到結果:
然后,我們看一下在python中如何演示:
首先,現安裝庫
pip install pytesseract如何想要在python中使用?pytesseract 庫,則需要先添加?tesseract 的環境變量
1.將tesseract.exe添加到環境變量PATH中
我的電腦——右鍵——屬性——高級系統設置——環境變量——將?tesseract.exe 所在的文件夾的路徑添加到 path 中
2.?修改pytesseract.py文件,指定tesseract.exe安裝路徑
然后打開它
import pytesseract from PIL import Image pytesseract.pytesseract.tesseract_cmd=r'D:\Tesseract-OCR\tesseract.exe' image=Image.open('D:\桌面\python\jupyter\image.png')#所要識別的圖片的位置 #默認是英文,如果是英文就不需更改 text=pytesseract.image_to_string(image) #默認是英文,如果是中文,要將語言改成中文。 # text=pytesseract.image_to_string(image,lang='chi_sim') print(text)返回:
?
庫,先安裝到這里,后面還有很多很多,等我慢慢補充,嘿嘿!!!??
總結
以上是生活随笔為你收集整理的最全python爬虫库安装详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle去重保留一条_关于oracl
- 下一篇: 计算机无法连接无线信号,win7系统连接