天天看點

Python 爬蟲架構

scrapy (推薦)

位址: Scrapy | A Fast and Powerful Scraping and Web Crawling Framework

Scrapy,Python開發的一個快速、高層次的螢幕抓取和web抓取架構,用于抓取web站點并從頁面中提取結構化的資料。Scrapy用途廣泛,可以用于資料挖掘、監測和自動化測試。Scrapy吸引人的地方在于它是一個架構,任何人都可以根據需求友善的修改。它也提供了多種類型爬蟲的基類,如BaseSpider、sitemap爬蟲等,最新版本又提供了web2.0爬蟲的支援。Scrap,是碎片的意思,這個Python的爬蟲架構叫Scrapy。

Crawley

位址:Crawley Project · Crawley Project

高速爬取對應網站的内容,支援關系和非關系資料庫,資料可以導出為JSON、XML等

  • 建立在Eventlet上的高速網絡爬蟲。
  • 将資料存儲在關系資料庫中,如Postgres、MySQL、Oracle、Sqlitt。
  • 将資料導出為JSON,XML格式。新的
  • 支援像MongoDB和CouchDB這樣的NoSQL資料庫。新的
  • 指令行工具。
  • 使用您最喜歡的工具提取資料。XPath或PyQuery(用于python的類似jQuery的庫)。
  • 用于刮取受保護的登入頁面的cookie處理程式。
  • 非常容易使用(請參閱執行個體)

Portia

位址:Fast & Reliable Data Web Scraping Services for any size business

Portia 是一個用 Python 編寫無需任何程式設計知識,就能可視爬取網站資料的開源工具。無需下載下傳或安裝任何東西,因為,Portia 是運作在您的 Web 浏覽器中。

Portia 是 scrapyhub 開源的一款可視化爬蟲規則編寫工具。Portia 提供了可視化的 Web 頁面,隻需通過簡單點選,标注頁面上需提取的相應資料,無需任何程式設計知識即可完成爬取規則的開發。這些規則還可在 Scrapy 中使用,用于抓取頁面。

PySpider

位址:Introduction - pyspider

PySpider:一個國人編寫的強大的網絡爬蟲系統并帶有強大的WebUI。采用Python語言編寫,分布式架構,支援多種資料庫後端,強大的WebUI支援腳本編輯器,任務螢幕,項目管理器以及結果檢視器。

grab

位址:Grab - modern python framework for data scraping

網絡爬蟲架構(基于pycurl/multicur)。

cola

位址:GitHub - qinxuye/cola: A high-level distributed crawling framework.

一個分布式爬蟲架構。項目整體設計有點糟,子產品間耦合度較高,不過值得借鑒。