通常比價小型的爬蟲需求,我是直接使用requests庫 + bs4就解決了,再麻煩點就使用selenium解決js的異步 加載問題。相對比較大型的需求才使用框架,主要是便於管理以及擴展等。html
1.Scrapypython
Scrapy是一個爲了爬取網站數據,提取結構性數據而編寫的應用框架。 能夠應用在包括數據挖掘,信息處理或存儲歷史數據等一系列的程序中。web
快速入門數據庫
安裝編程
pip install scrapy後端
建立項目網絡
寫爬蟲多線程
運行架構
scrapy crawl dmoz框架
這裏就簡單介紹一下,後面有時間詳細寫一些關於scrapy的文章,個人不少爬蟲的數據都是scrapy基礎上實現的。
2.PySpider
PySpider:一個國人編寫的強大的網絡爬蟲系統並帶有強大的WebUI。採用Python語言編寫,分佈式架構,支持多種數據庫後端,強大的WebUI支持腳本編輯器,任務監視器,項目管理器以及結果查看器。
python 腳本控制,能夠用任何你喜歡的html解析包(內置 pyquery)
WEB 界面編寫調試腳本,起停腳本,監控執行狀態,查看活動歷史,獲取結果產出
數據存儲支持MySQL, MongoDB, Redis, SQLite, Elasticsearch; PostgreSQL 及 SQLAlchemy
示例
代開web界面的編輯輸入代碼便可
3.Crawley
Crawley能夠高速爬取對應網站的內容,支持關係和非關係數據庫,數據能夠導出爲JSON、XML等。
建立project
寫Python爬蟲邏輯
配置
運行
~$ crawley run
4.Portia
Portia是一個開源可視化爬蟲工具,可以讓您在不須要任何編程知識的狀況下爬取網站!簡單地註釋您感興趣的頁面,Portia將建立一個蜘蛛來從相似的頁面提取數據。
5.Newspaper
Newspaper能夠用來提取新聞、文章和內容分析。使用多線程,支持10多種語言等。做者從requests庫的簡潔與強大獲得靈感,使用python開發的可用於提取文章內容的程序。
支持10多種語言而且全部的都是unicode編碼。
示例
6.Beautiful Soup
Beautiful Soup 是一個能夠從HTML或XML文件中提取數據的Python庫.它可以經過你喜歡的轉換器實現慣用的文檔導航,查找,修改文檔的方式.Beautiful Soup會幫你節省數小時甚至數天的工做時間。這個我是使用的特別頻繁的。在獲取html元素,都是bs4完成的。
示例:
7.Grab
Grab是一個用於構建Web刮板的Python框架。藉助Grab,您能夠構建各類複雜的網頁抓取工具,從簡單的5行腳本處處理數百萬個網頁的複雜異步網站抓取工具。Grab提供一個API用於執行網絡請求和處理接收到的內容,例如與HTML文檔的DOM樹進行交互。
8.Cola
Cola是一個分佈式的爬蟲框架,對於用戶來講,只需編寫幾個特定的函數,而無需關注分佈式運行的細節。任務會自動分配到多臺機器上,整個過程對用戶是透明的。
案例
10 .Python-goose框架
Python-goose框架可提取的信息包括:
用法示例
---------------------