用Python寫爬蟲?
Python中好用的爬蟲框架
一般比較小型的爬蟲需求,可以直接使用requests庫 + bs4(beautifulsoup)就可以解決了,再麻煩點的可以使用selenium,selenium可以很好的解決js的異步加載問題,相對比較大型的需求才會使用到,主要是便于管理以及擴展等。
1.Scrapy
Scrapy是一個為了爬取網(wǎng)站數(shù)據(jù),提取結構性數(shù)據(jù)而編寫的應用框架。 可以應用在包括數(shù)據(jù)挖掘,信息處理或存儲歷史數(shù)據(jù)等一系列的程序中。。用這個框架可以輕松爬下來如亞馬遜商品信息之類的數(shù)據(jù)。
項目地址:https://scrapy.org/
2.PySpider
pyspider 是一個用python實現(xiàn)的功能強大的網(wǎng)絡爬蟲系統(tǒng),能在瀏覽器界面上進行腳本的編寫,功能的調度和爬取結果的實時查看,后端使用常用的數(shù)據(jù)庫進行爬取結果的存儲,還能定時設置任務與任務優(yōu)先級等。
項目地址:https://github.com/binux/pyspider
3.Crawley
Crawley可以高速爬取對應網(wǎng)站的內容,支持關系和非關系數(shù)據(jù)庫,數(shù)據(jù)可以導出為JSON、XML等。
項目地址:http://project.crawley-cloud.com/
4.Portia
Portia是一個開源可視化爬蟲工具,可讓您在不需要任何編程知識的情況下爬取網(wǎng)站!簡單地注釋您感興趣的頁面,Portia將創(chuàng)建一個蜘蛛來從類似的頁面提取數(shù)據(jù)。
項目地址:https://github.com/scrapinghub/portia
5.Newspaper
Newspaper可以用來提取新聞、文章和內容分析。使用多線程,支持10多種語言等。
項目地址:https://github.com/codelucas/newspaper
6.Beautiful Soup
Beautiful Soup 是一個可以從HTML或XML文件中提取數(shù)據(jù)的Python庫.它能夠通過你喜歡的轉換器實現(xiàn)慣用的文檔導航,查找,修改文檔的方式.Beautiful Soup會幫你節(jié)省數(shù)小時甚至數(shù)天的工作時間。
項目地址:https://www.crummy.com/software/BeautifulSoup/bs4/doc/
7.Grab
Grab是一個用于構建Web刮板的Python框架。借助Grab,您可以構建各種復雜的網(wǎng)頁抓取工具,從簡單的5行腳本到處理數(shù)百萬個網(wǎng)頁的復雜異步網(wǎng)站抓取工具。Grab提供一個API用于執(zhí)行網(wǎng)絡請求和處理接收到的內容,例如與HTML文檔的DOM樹進行交互。
項目地址:http://docs.grablib.org/en/latest/#grab-spider-user-manual
8.Cola
Cola是一個分布式的爬蟲框架,對于用戶來說,只需編寫幾個特定的函數(shù),而無需關注分布式運行的細節(jié)。任務會自動分配到多臺機器上,整個過程對用戶是透明的。
項目地址:https://github.com/chineking/cola