十個(gè)Python爬蟲武器庫(kù)示例,十個(gè)爬蟲框架,十種實(shí)現(xiàn)爬蟲的方法!


一般比價(jià)小型的爬蟲需求,我是直接使用requests庫(kù) + bs4就解決了,再麻煩點(diǎn)就使用selenium解決js的異步 加載問題。相對(duì)比較大型的需求才使用框架,主要是便于管理以及擴(kuò)展等。

1.Scrapy

Scrapy是一個(gè)為了爬取網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架。 可以應(yīng)用在包括數(shù)據(jù)挖掘,信息處理或存儲(chǔ)歷史數(shù)據(jù)等一系列的程序中。

特性:

在這里還是要推薦下我自己建的Python開發(fā)學(xué)習(xí)裙:304 零伍零 799,裙里都是學(xué)Python開發(fā)的,如果你正在學(xué)習(xí)Python ,小編歡迎你加入,大家都是軟件開發(fā)黨,不定期分享干貨(只有Python軟件開發(fā)相關(guān)的),包括我自己整理的一份2018最新的Python進(jìn)階資料和高級(jí)開發(fā)教程,歡迎進(jìn)階中和進(jìn)想深入Python的小伙伴


快速入門

安裝

pip?install scrapy

創(chuàng)建項(xiàng)目

寫爬蟲

運(yùn)行

scrapy?crawl dmoz

這里就簡(jiǎn)單介紹一下,后面有時(shí)間詳細(xì)寫一些關(guān)于scrapy的文章,我的很多爬蟲的數(shù)據(jù)都是scrapy基礎(chǔ)上實(shí)現(xiàn)的。

2.PySpider

PySpider:一個(gè)國(guó)人編寫的強(qiáng)大的網(wǎng)絡(luò)爬蟲系統(tǒng)并帶有強(qiáng)大的WebUI。采用Python語言編寫,分布式架構(gòu),支持多種數(shù)據(jù)庫(kù)后端,強(qiáng)大的WebUI支持腳本編輯器,任務(wù)監(jiān)視器,項(xiàng)目管理器以及結(jié)果查看器。

python 腳本控制,可以用任何你喜歡的html解析包(內(nèi)置 pyquery)

WEB 界面編寫調(diào)試腳本,起停腳本,監(jiān)控執(zhí)行狀態(tài),查看活動(dòng)歷史,獲取結(jié)果產(chǎn)出

數(shù)據(jù)存儲(chǔ)支持MySQL, MongoDB, Redis, SQLite, Elasticsearch; PostgreSQL 及 SQLAlchemy

示例

代開web界面的編輯輸入代碼即可

3.Crawley

Crawley可以高速爬取對(duì)應(yīng)網(wǎng)站的內(nèi)容,支持關(guān)系和非關(guān)系數(shù)據(jù)庫(kù),數(shù)據(jù)可以導(dǎo)出為JSON、XML等。

創(chuàng)建project

寫Python爬蟲邏輯

配置

運(yùn)行

~$ crawley?run

4.Portia

Portia是一個(gè)開源可視化爬蟲工具,可讓您在不需要任何編程知識(shí)的情況下爬取網(wǎng)站!簡(jiǎn)單地注釋您感興趣的頁(yè)面,Portia將創(chuàng)建一個(gè)蜘蛛來從類似的頁(yè)面提取數(shù)據(jù)。

5.Newspaper

Newspaper可以用來提取新聞、文章和內(nèi)容分析。使用多線程,支持10多種語言等。作者從requests庫(kù)的簡(jiǎn)潔與強(qiáng)大得到靈感,使用python開發(fā)的可用于提取文章內(nèi)容的程序。

支持10多種語言并且所有的都是unicode編碼。

示例

6.Beautiful Soup

Beautiful Soup 是一個(gè)可以從HTML或XML文件中提取數(shù)據(jù)的Python庫(kù).它能夠通過你喜歡的轉(zhuǎn)換器實(shí)現(xiàn)慣用的文檔導(dǎo)航,查找,修改文檔的方式.Beautiful Soup會(huì)幫你節(jié)省數(shù)小時(shí)甚至數(shù)天的工作時(shí)間。這個(gè)我是使用的特別頻繁的。在獲取html元素,都是bs4完成的。

示例:

7.Grab

Grab是一個(gè)用于構(gòu)建Web刮板的Python框架。借助Grab,您可以構(gòu)建各種復(fù)雜的網(wǎng)頁(yè)抓取工具,從簡(jiǎn)單的5行腳本到處理數(shù)百萬個(gè)網(wǎng)頁(yè)的復(fù)雜異步網(wǎng)站抓取工具。Grab提供一個(gè)API用于執(zhí)行網(wǎng)絡(luò)請(qǐng)求和處理接收到的內(nèi)容,例如與HTML文檔的DOM樹進(jìn)行交互。

8.Cola

Cola是一個(gè)分布式的爬蟲框架,對(duì)于用戶來說,只需編寫幾個(gè)特定的函數(shù),而無需關(guān)注分布式運(yùn)行的細(xì)節(jié)。任務(wù)會(huì)自動(dòng)分配到多臺(tái)機(jī)器上,整個(gè)過程對(duì)用戶是透明的。

案例

10 .Python-goose框架

Python-goose框架可提取的信息包括:

用法示例

更多編程方面的分享請(qǐng)關(guān)注微信公眾號(hào):程序員大牛!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個(gè) Awesome - XXX 系列...
    aimaile閱讀 26,832評(píng)論 6 427
  • Python中好用的爬蟲框架 一般比價(jià)小型的爬蟲需求,我是直接使用requests庫(kù) + bs4就解決了,再麻煩點(diǎn)...
    若與閱讀 6,166評(píng)論 3 187
  • 作者:Python學(xué)習(xí) 鏈接:http://www.itdecent.cn/p/c2473f3ebf75 環(huán)境...
    步_塵閱讀 7,164評(píng)論 1 40
  • “陳曉曼,你站住!”那是林芷珊,我大學(xué)的好朋友?!澳憔瓦@樣走開,對(duì)得起我哥哥嗎?”那邊,廣播正在催促乘客登機(jī)。我不...
    飄雨桐V閱讀 230評(píng)論 0 0
  • 細(xì)細(xì)想來,好像從來不曾寫過關(guān)于母親的文字,總是有一種刻意想要去回避這個(gè)話題的潛意識(shí)?;蛟S還是女人更懂女人吧,我既能...
    落落羅閱讀 448評(píng)論 0 2

友情鏈接更多精彩內(nèi)容