成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---10、爬蟲框架的安裝:PySpider、Scrapy

張憲坤 / 1586人閱讀

摘要:所以如果對(duì)爬蟲有一定基礎(chǔ),上手框架是一種好的選擇。缺少包,使用安裝即可缺少包,使用安裝即可上一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)爬取相關(guān)庫的安裝的安裝下一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)爬蟲框架的安裝

上一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---9、APP爬取相關(guān)庫的安裝:Appium的安裝
下一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---11、爬蟲框架的安裝:ScrapySplash、ScrapyRedis

我們直接用 Requests、Selenium 等庫寫爬蟲,如果爬取量不是太大,速度要求不高,是完全可以滿足需求的。但是寫多了會(huì)發(fā)現(xiàn)其內(nèi)部許多代碼和組件是可以復(fù)用的,如果我們把這些組件抽離出來,將各個(gè)功能模塊化,就慢慢會(huì)形成一個(gè)框架雛形,久而久之,爬蟲框架就誕生了。

利用框架我們可以不用再去關(guān)心某些功能的具體實(shí)現(xiàn),只需要去關(guān)心爬取邏輯即可。有了它們,可以大大簡(jiǎn)化代碼量,而且架構(gòu)也會(huì)變得清晰,爬取效率也會(huì)高許多。所以如果對(duì)爬蟲有一定基礎(chǔ),上手框架是一種好的選擇。

本書主要介紹的爬蟲框架有PySpider和Scrapy,本節(jié)我們來介紹一下 PySpider、Scrapy 以及它們的一些擴(kuò)展庫的安裝方式。

PySpider的安裝

PySpider 是國人 binux 編寫的強(qiáng)大的網(wǎng)絡(luò)爬蟲框架,它帶有強(qiáng)大的 WebUI、腳本編輯器、任務(wù)監(jiān)控器、項(xiàng)目管理器以及結(jié)果處理器,同時(shí)它支持多種數(shù)據(jù)庫后端、多種消息隊(duì)列,另外它還支持 JavaScript 渲染頁面的爬取,使用起來非常方便,本節(jié)介紹一下它的安裝過程。

1. 相關(guān)鏈接

官方文檔:http://docs.pyspider.org/

PyPi:https://pypi.python.org/pypi/...

GitHub:https://github.com/binux/pysp...

官方教程:http://docs.pyspider.org/en/l...

在線實(shí)例:http://demo.pyspider.org

2. 準(zhǔn)備工作

PySpider 是支持 JavaScript 渲染的,而這個(gè)過程是依賴于 PhantomJS 的,所以還需要安裝 PhantomJS,所以在安裝之前請(qǐng)安裝好 PhantomJS,安裝方式在前文有介紹。

3. Pip安裝

推薦使用 Pip 安裝,命令如下:

pip3 install pyspider

命令執(zhí)行完畢即可完成安裝。

4. 常見錯(cuò)誤

Windows 下可能會(huì)出現(xiàn)這樣的錯(cuò)誤提示:Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-vXo1W3/pycurl
這個(gè)是 PyCurl 安裝錯(cuò)誤,一般會(huì)出現(xiàn)在 Windows 下,需要安裝 PyCurl 庫,下載鏈接為:http://www.lfd.uci.edu/~gohlk...,找到對(duì)應(yīng) Python 版本然后下載相應(yīng)的 Wheel 文件。
如 Windows 64 位,Python3.6 則下載 pycurl?7.43.0?cp36?cp36m?win_amd64.whl,隨后用 Pip 安裝即可,命令如下:

pip3 install pycurl?7.43.0?cp36?cp36m?win_amd64.whl

Linux 下如果遇到 PyCurl 的錯(cuò)誤可以參考本文:https://imlonghao.com/19.html

Mac遇到這種情況,執(zhí)行下面操作:

brew install openssl

openssl version 
查看版本
find /usr/local -name ssl.h

可以看到形如:
usr/local/Cellar/openssl/1.0.2s/include/openssl/ssl.h

添加環(huán)境變量
export PYCURL_SSL_LIBRARY=openssl
export LDFLAGS=-L/usr/local/Cellar/openssl/1.0.2s/lib
export CPPFLAGS=-I/usr/local/Cellar/openssl/1.0.2s/include

 pip3 install pyspider
5. 驗(yàn)證安裝

安裝完成之后,可以直接在命令行下啟動(dòng) PySpider:

pyspider all

控制臺(tái)會(huì)有類似如下輸出,如圖 1-75 所示:

圖 1-76 管理頁面
如果出現(xiàn)類似頁面那證明 PySpider 已經(jīng)安裝成功了。
在后文會(huì)介紹 PySpider 的詳細(xì)用法。

這里有一個(gè)深坑,PySpider在Python3.7上運(yùn)行時(shí)會(huì)報(bào)錯(cuò)

File "/usr/local/lib/python3.7/site-packages/pyspider/run.py", line 231
    async=True, get_object=False, no_input=False):
        ^
SyntaxError: invalid syntax

原因是python3.7中async已經(jīng)變成了關(guān)鍵字。因此出現(xiàn)這個(gè)錯(cuò)誤。
修改方式是手動(dòng)替換一下

下面位置的async改為mark_async

/usr/local/lib/python3.7/site-packages/pyspider/run.py  的231行、245行(兩個(gè))、365行


/usr/local/lib/python3.7/site-packages/pyspider/webui/app.py 的95行

/usr/local/lib/python3.7/site-packages/pyspider/fetcher/tornado_fetcher.py 的81行、89行(兩個(gè))、95行、117行
Scrapy的安裝

Scrapy 是一個(gè)十分強(qiáng)大的爬蟲框架,依賴的庫比較多,至少需要依賴庫有 Twisted 14.0,lxml 3.4,pyOpenSSL 0.14。而在不同平臺(tái)環(huán)境又各不相同,所以在安裝之前最好確保把一些基本庫安裝好。本節(jié)介紹一下 Scrapy 在不同平臺(tái)的安裝方法。

1. 相關(guān)鏈接

官方網(wǎng)站:https://scrapy.org

官方文檔:https://docs.scrapy.org

PyPi:https://pypi.python.org/pypi/...

GitHub:https://github.com/scrapy/scrapy

中文文檔:http://scrapy-chs.readthedocs.io

3. Mac下的安裝

在 Mac 上構(gòu)建 Scrapy 的依賴庫需要 C 編譯器以及開發(fā)頭文件,它一般由 Xcode 提供,運(yùn)行如下命令安裝即可:

xcode-select --install

隨后利用 Pip 安裝 Scrapy 即可,運(yùn)行如下命令:

pip3 install Scrapy

運(yùn)行完畢之后即可完成 Scrapy 的安裝。

4. 驗(yàn)證安裝

安裝之后,在命令行下輸入 scrapy,如果出現(xiàn)類似下方的結(jié)果,就證明 Scrapy 安裝成功,如圖 1-80 所示:

圖 1-80 驗(yàn)證安裝

5. 常見錯(cuò)誤
pkg_resources.VersionConflict: (six 1.5.2 (/usr/lib/python3/dist-packages), Requirement.parse("six>=1.6.0"))

six 包版本過低,six包是一個(gè)提供兼容 Python2 和 Python3 的庫,升級(jí) six 包即可:

sudo pip3 install -U six

*

c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory

這是在 Linux 下常出現(xiàn)的錯(cuò)誤,缺少 Libffi 這個(gè)庫。什么是 libffi?“FFI” 的全名是 Foreign Function Interface,通常指的是允許以一種語言編寫的代碼調(diào)用另一種語言的代碼。而 Libffi 庫只提供了最底層的、與架構(gòu)相關(guān)的、完整的”FFI”。
安裝相應(yīng)的庫即可。
Ubuntu、Debian:

sudo apt-get install build-essential libssl-dev libffi-dev python3-dev

CentOS、RedHat:

sudo yum install gcc libffi-devel python-devel openssl-devel

*

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build/cryptography/

這是缺少加密的相關(guān)組件,利用Pip 安裝即可。

pip3 install cryptography

*

ImportError: No module named "packaging"

缺少 packaging 這個(gè)包,它提供了 Python 包的核心功能,利用 Pip 安裝即可。

*

ImportError: No module named "_cffi_backend"

缺少 cffi 包,使用 Pip 安裝即可:

pip3 install cffi

*

ImportError: No module named "pyparsing"

缺少 pyparsing 包,使用 Pip 安裝即可:

pip3 install pyparsing appdirs
上一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---9、APP爬取相關(guān)庫的安裝:Appium的安裝
下一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---11、爬蟲框架的安裝:ScrapySplash、ScrapyRedis

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44034.html

相關(guān)文章

  • Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---11、爬蟲框架安裝ScrapySplash、ScrapyRedi

    摘要:上一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)爬蟲框架的安裝下一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)部署相關(guān)庫的安裝的安裝是一個(gè)中支持渲染的工具,本節(jié)來介紹一下它的安裝方式。另外一個(gè)是的庫的安裝,安裝之后即可在中使用服務(wù)。 上一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---10、爬蟲框架的安裝:PySpider、Scrapy下一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---12、部署相關(guān)庫的安裝:Docker、Scrapyd Scrap...

    harryhappy 評(píng)論0 收藏0
  • 首次公開,整理12年積累博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時(shí)間永遠(yuǎn)都過得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...

    Harriet666 評(píng)論0 收藏0
  • Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---9、APP爬取相關(guān)庫安裝:Appium安裝

    摘要:支持全平臺(tái)的安裝,我們直接從的里面安裝即可,鏈接為。平臺(tái)可以下載安裝包如,平臺(tái)可以下載安裝包如,平臺(tái)可以選擇下載源碼,但是更推薦用下文的安裝方式。上一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)爬取相關(guān)庫的安裝的安裝下一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)爬蟲框架的安裝 上一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---8、APP爬取相關(guān)庫的安裝:MitmProxy的安裝下一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---10、爬蟲框架的安裝...

    caige 評(píng)論0 收藏0
  • 零基礎(chǔ)如何學(xué)爬蟲技術(shù)

    摘要:楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),。本文來源知乎作者路人甲鏈接楚江數(shù)據(jù)提供網(wǎng)站數(shù)據(jù)采集和爬蟲軟件定制開發(fā)服務(wù),服務(wù)范圍涵蓋社交網(wǎng)絡(luò)電子商務(wù)分類信息學(xué)術(shù)研究等。 楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),http://www.chujiangdata.com。 第一:Python爬蟲學(xué)習(xí)系列教程(來源于某博主:htt...

    KunMinX 評(píng)論0 收藏0
  • 爬蟲入門

    摘要:通用網(wǎng)絡(luò)爬蟲通用網(wǎng)絡(luò)爬蟲又稱全網(wǎng)爬蟲,爬取對(duì)象從一些種子擴(kuò)充到整個(gè)。為提高工作效率,通用網(wǎng)絡(luò)爬蟲會(huì)采取一定的爬取策略。介紹是一個(gè)國人編寫的強(qiáng)大的網(wǎng)絡(luò)爬蟲系統(tǒng)并帶有強(qiáng)大的。 爬蟲 簡(jiǎn)單的說網(wǎng)絡(luò)爬蟲(Web crawler)也叫做網(wǎng)絡(luò)鏟(Web scraper)、網(wǎng)絡(luò)蜘蛛(Web spider),其行為一般是先爬到對(duì)應(yīng)的網(wǎng)頁上,再把需要的信息鏟下來。 分類 網(wǎng)絡(luò)爬蟲按照系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)技術(shù),...

    defcon 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<