一般比價(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語(yǔ)言編寫盟广,分布式架構(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多種語(yǔ)言等闲勺。作者從requests庫(kù)的簡(jiǎn)潔與強(qiáng)大得到靈感,使用python開發(fā)的可用于提取文章內(nèi)容的程序扣猫。
支持10多種語(yǔ)言并且所有的都是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):程序員大牛薯酝!