Python中大的爬蟲框架有scrapy(風格相似django),pyspider(國產python爬蟲框架)。
除了Python,Java中也有許多爬蟲框架。html
nutch
apache下的開源爬蟲程序,功能豐富,文檔完整,有數據抓取解析以及存儲的模塊。
它的特色是規模大。前端
heritrix
比較成熟
地址:internetarchive/heritrix3 · GitHub很早就有了,經歷過不少次更新,使用的人比較多,功能齊全,文檔完整,網上的資料也多。有本身的web管理控制檯,包含了一個HTTP 服務器。操做者能夠經過選擇Crawler命令來操做控制檯。python
crawler4j
UCI大學(加利福尼亞歐文分校)出品,簡潔,古老,結構清晰react
webmagic
國產,借鑑了scrapy,有pipeline,功能比較簡單。Request也有meta屬性,meta屬性是一個字典,meta屬性的value是Object類型。git
webcollector
webcollector也是國人出品,做者工做單位是合肥工業大學。
webcollector是crawler4j的壓縮版,crawler4j把不一樣功能的類分開放置,webcollector使得只須要一個類便可。
webcollector一個突出的改進點是,它給每個請求打了一個標籤,從而便於回調處理。github
SeimiCrawler
Seimi意思是「清美」,國產,該庫是本文所列庫裏面最新的一個庫,設計上深受scrapy影響,依賴不少外部包,依託spring,遵循約定大於配置的原則。
該庫設計上支持分佈式,使用redis實現爬蟲之間任務共享,使用JSON格式的請求來定義Request,從而可讓爬蟲之間共享Request。它的Request也有meta屬性,meta屬性是一個字典,可是meta屬性的value只能是String,這是爲了迎合分佈式,便於經過JSON格式傳輸Request對象。
SeimiCrawler的Request跟scrapy的Request是最類似的,由於scrapy中的Request能夠指明回調函數,這一點是很是經常使用的。SeimiCrawler中Request回調函數是字符串形式的函數名,以反射的形式來調用函數對象,避免了使用Handler形式的類。
seimi庫中也大量使用註解。web
JSpider
此庫看上去快要死了redis
gecco
國產,此庫看上去也很新,形式上與seimi最像,整合了jsoup、fastjson/spring、htmlunit、httpclient
支持註解的方式聲明要爬取的字段,從而直接獲取爬取結果。
看上去很裝逼的一個庫,它大量使用註解,很是不靈活。大量使用fluent編程方式,不夠清晰,官網例子過於單薄。
做者不是在寫庫,而是在炫技。
這是一個反人類的庫。相似tensorflow,先構圖,後運行。此庫須要先把規則說清楚,而後纔會執行。spring
spidermanmongodb
神箭手爬蟲
一個網站,以賣爬到的數據爲生
https%3A//github.com/ShenJianShou/samples
網絡上看到的(通常都是github上的):
WechatSogou [1]- 微信公衆號爬蟲。基於搜狗微信搜索的微信公衆號爬蟲接口,能夠擴展成基於搜狗搜索的爬蟲,返回結果是列表,每一項均是公衆號具體信息字典。
DouBanSpider [2]- 豆瓣讀書爬蟲。能夠爬下豆瓣讀書標籤下的全部圖書,按評分排名依次存儲,存儲到Excel中,可方便你們篩選蒐羅,好比篩選評價人數>1000的高分書籍;可依據不一樣的主題存儲到Excel不一樣的Sheet ,採用User Agent假裝爲瀏覽器進行爬取,並加入隨機延時來更好的模仿瀏覽器行爲,避免爬蟲被封。
zhihu_spider [3]- 知乎爬蟲。此項目的功能是爬取知乎用戶信息以及人際拓撲關係,爬蟲框架使用scrapy,數據存儲使用mongo
bilibili-user [4]- Bilibili用戶爬蟲。總數據數:20119918,抓取字段:用戶id,暱稱,性別,頭像,等級,經驗值,粉絲數,生日,地址,註冊時間,簽名,等級與經驗值等。抓取以後生成B站用戶數據報告。
SinaSpider [5]- 新浪微博爬蟲。主要爬取新浪微博用戶的我的信息、微博信息、粉絲和關注。代碼獲取新浪微博Cookie進行登陸,可經過多帳號登陸來防止新浪的反扒。主要使用 scrapy 爬蟲框架。
distribute_crawler [6]- 小說下載分佈式爬蟲。使用scrapy,Redis,
MongoDB,graphite實現的一個分佈式網絡爬蟲,底層存儲mongodb集羣,分佈式使用redis實現,爬蟲狀態顯示使用graphite實現,主要針對一個小說站點。
CnkiSpider [7]- 中國知網爬蟲。設置檢索條件後,執行src/CnkiSpider.py抓取數據,抓取數據存儲在/data目錄下,每一個數據文件的第一行爲字段名稱。
LianJiaSpider [8]- 鏈家網爬蟲。爬取北京地區鏈家歷年二手房成交記錄。涵蓋鏈家爬蟲一文的所有代碼,包括鏈家模擬登陸代碼。
scrapy_jingdong [9]- 京東爬蟲。基於scrapy的京東網站爬蟲,保存格式爲csv。
QQ-Groups-Spider [10]- QQ 羣爬蟲。批量抓取 QQ 羣信息,包括羣名稱、羣號、羣人數、羣主、羣簡介等內容,最終生成 XLS(X) / CSV 結果文件。
wooyun_public[11]-烏雲爬蟲。 烏雲公開漏洞、知識庫爬蟲和搜索。所有公開漏洞的列表和每一個漏洞的文本內容存在mongodb中,大概約2G內容;若是整站爬所有文本和圖片做爲離線查詢,大概須要10G空間、2小時(10M電信帶寬);爬取所有知識庫,總共約500M空間。漏洞搜索使用了Flask做爲web server,bootstrap做爲前端。
QunarSpider [12]- 去哪兒網爬蟲。 網絡爬蟲之Selenium使用代理登錄:爬取去哪兒網站,使用selenium模擬瀏覽器登錄,獲取翻頁操做。代理能夠存入一個文件,程序讀取並使用。支持多進程抓取。
findtrip [13]- 機票爬蟲(去哪兒和攜程網)。Findtrip是一個基於Scrapy的機票爬蟲,目前整合了國內兩大機票網站(去哪兒 + 攜程)。
163spider [14] - 基於requests、MySQLdb、torndb的網易客戶端內容爬蟲
doubanspiders[15]- 豆瓣電影、書籍、小組、相冊、東西等爬蟲集
QQSpider [16]- QQ空間爬蟲,包括日誌、說說、我的信息等,一天可抓取 400 萬條數據。
baidu-music-spider [17]- 百度mp3全站爬蟲,使用redis支持斷點續傳。
tbcrawler[18]- 淘寶和天貓的爬蟲,能夠根據搜索關鍵詞,物品id來抓去頁面的信息,數據存儲在mongodb。
stockholm [19]- 一個股票數據(滬深)爬蟲和選股策略測試框架。根據選定的日期範圍抓取全部滬深兩市股票的行情數據。支持使用表達式定義選股策略。支持多線程處理。保存數據到JSON文件、CSV文件。
BaiduyunSpider[20]-百度雲盤爬蟲。