前言
小型爬蟲需求,requests庫+bs4庫就能解決;大型爬蟲資料,尤其涉及非同步抓取、內容管理及後續擴充套件等功能時,就需要用到爬蟲框架了。
下面介紹了10個爬蟲框架,大家可以學習使用!
- Scrapy scrapy
官網:https://scrapy.org/
scrapy中文文件:https://www.osgeo.cn/scrapy/intro/o
Scrapy是一個為了爬取網站資料,提取結構性資料而編寫的應用框架。可以應用在包括資料探勘,資訊處理或儲存歷史資料等一系列的程式中。
其最初是為了 頁面抓取 (更確切來說, 網路抓取 )所設計的, 也可以應用在獲取API所返回的資料(例如 Amazon Associates Web Services ) 或者通用的網路爬蟲。
Scrapy框架是一套比較成熟的Python爬蟲框架,可以高效的爬取web頁面並提取出結構化資料,用這個框架可以輕鬆爬下來如亞馬遜商品資訊之類的資料。
- PySpider
PySpider 中文網:http://www.pyspider.cn
PySpider 官網:http://docs.pyspider.org
PySpider 演示:http://demo.pyspider.org
PySpider 原始碼:https://github.com/binux/pyspider
PySpider是一個國人編寫的強大的網路爬蟲系統並帶有強大的WebUI,其用python實現的功能強大的網路爬蟲系統,能在瀏覽器介面上進行指令碼的編寫,功能的排程和爬取結果的實時檢視,後端使用常用的資料庫進行爬取結果的儲存,還能定時設定任務與任務優先順序等。
pyspider 是一個用python實現的功能強大的網路爬蟲系統,能在瀏覽器介面上進行指令碼的編寫,功能的排程和爬取結果的實時檢視,後端使用常用的資料庫進行爬取結果的儲存,還能定時設定任務與任務優先順序等。
- Crawley
Crawley可以高速爬取對應網站的內容,支援關係和非關聯式資料庫,資料可以匯出為JSON、XML等。
- Portia
官網:https://portia.scrapinghub.com/
Portia是一個開源視覺化爬蟲工具,可讓您在不需要任何程式設計知識的情況下爬取網站!簡單地註釋您感興趣的頁面,Portia將建立一個蜘蛛來從類似的頁面提取資料。其主要特徵是: Portia是一款不需要任何程式設計知識就能爬取網頁的爬蟲框架,只要將相關資訊填好之後,就可以爬取網站了。 基於 scrapy 核心
視覺化爬取內容,不需要任何開發專業知識
動態匹配相同模板的內容
5. Newspaper
官方文件:Quickstart - newspaper 0.0.2 documentation
github地址:https://github.com/codelucas/newspaper
Newspaper可以用來提取新聞、文章和內容分析。使用多執行緒,支援10多種語言等。作者從requests庫的簡潔與強大得到靈感,使用python開發的可用於提取文章內容的程式。支援10多種語言並且所有的都是unicode編碼。 Newspaper框架是一個用來提取新聞、文章以及內容分析的Python爬蟲框架。
- Beautiful Soup
官方文件:Beautiful Soup 4.4.0 文件
Beautiful Soup 是一個可以從HTML或XML檔案中提取資料的Python庫.它能夠透過你喜歡的轉換器實現慣用的文件導航,查詢,修改文件的方式.Beautiful Soup會幫你節省數小時甚至數天的工作時間。這個我是使用的特別頻繁的。在獲取html元素,都是bs4完成的。
Beautiful Soup整合了一些常用的爬蟲需求,可以從HTML或XML檔案中提取資料的Python庫。它能夠透過你喜歡的轉換器實現慣用的文件導航、查詢、修改文件的方式,會幫你節省數小時甚至數天的工作時間。
- Grab
官網:https://grablib.org/en/latest/
Grab是一個用於構建Web刮板的Python框架。藉助Grab,您可以構建各種複雜的網頁抓取工具,從簡單的5行指令碼到處理數百萬個網頁的複雜非同步網站抓取工具。 Grab提供一個API用於執行網路請求和處理接收到的內容,例如與HTML文件的DOM樹進行互動。
Grab可以構建各種複雜的網頁抓取工具,從簡單的5行指令碼到處理數百萬個網頁的複雜非同步網站抓取工具。
- Cola
github地址:https://github.com/qinxuye/cola
Cola是一個分散式的爬蟲框架,對於使用者來說,只需編寫幾個特定的函式,而無需關注分散式執行的細節。任務會自動分配到多臺機器上,整個過程對使用者是透明的。
- Selenium
官網:https://www.selenium.dev/
Selenium 是自動化測試工具。它支援各種瀏覽器,包括 Chrome,Safari,Firefox 等主流介面式瀏覽器,如果在這些瀏覽器裡面安裝一個 Selenium 的外掛,可以方便地實現Web介面的測試. Selenium 支援瀏覽器驅動。
Selenium支援多種語言開發,比如 Java,C,Ruby等等,PhantomJS 用來渲染解析JS,Selenium 用來驅動以及與 Python 的對接,Python 進行後期的處理。
它支援各種主流介面式瀏覽器,如果在這些瀏覽器裡面安裝一個 Selenium 的外掛,可以方便地實現Web介面的測試。
- Python-goose
github地址:https://github.com/goose3/goose
Python-goose框架可提取包括文章內容、文章圖片、文章中嵌入的任何影片、元描述、元標籤。