常用的高效爬蟲框架和項目

  • 看了阿里云云棲社的一片文章,和其他地方的資料,然後對常用的爬蟲框架和項目做了下整理。

常用Python爬蟲框架簡介

  • Scrapy
# Scrapy是一個爲了爬取網站數據,提取結構性數據而編寫的應用框架。 
# 可以應用在包括數據挖掘,信息處理或存儲歷史數據等一系列的程序中。
# 用這個框架可以輕鬆爬下來如亞馬遜商品信息之類的數據。
# 文檔地址:https://scrapy.org/
  • PySpider
# pyspider 是一個用python實現的功能強大的網絡爬蟲系統,能在瀏覽器界面上進行腳本的編寫,功能的調度和爬取結果的實時查看,後端使用常用的數據庫進行爬取結果的存儲,還能定時設置任務與任務優先級等。
# 文檔地址:https://github.com/binux/pyspider
  • Crawley
# Crawley可以高速爬取對應網站的內容,支持關係和非關係數據庫,數據可以導出爲JSON、XML等。
# 文檔地址:http://project.crawley-cloud.com/
  • Portia
# Portia是一個開源可視化爬蟲工具,可讓您在不需要任何編程知識的情況下爬取網站!簡單地註釋您感興趣的頁面,Portia將創建一個蜘蛛來從類似的頁面提取數據。
# 文檔地址:https://github.com/scrapinghub/portia
  • Newspaper
# Newspaper可以用來提取新聞、文章和內容分析。使用多線程,支持10多種語言等。
# 文檔地址:https://github.com/codelucas/newspaper
  • Beautiful Soup
# Beautiful Soup 是一個可以從HTML或XML文件中提取數據的Python庫.
# 它能夠通過你喜歡的轉換器實現慣用的文檔導航,查找,修改文檔的方式.
# Beautiful Soup會幫你節省數小時甚至數天的工作時間。
# 文檔地址: https://www.crummy.com/software/BeautifulSoup/bs4/doc/
  • Grab
# Grab是一個用於構建Web刮板的Python框架。藉助Grab,您可以構建各種複雜的網頁抓取工具,從簡單的5行腳本到處理數百萬個網頁的複雜異步網站抓取工具。Grab提供一個API用於執行網絡請求和處理接收到的內容,例如與HTML文檔的DOM樹進行交互。
# http://docs.grablib.org/en/latest/#grab-spider-user-manual.
  • Cola
# Cola是一個分佈式的爬蟲框架,對於用戶來說,只需編寫幾個特定的函數,而無需關注分佈式運行的細節。任務會自動分配到多臺機器上,整個過程對用戶是透明的。
# 文檔地址:https://github.com/chineking/cola

23個爬蟲項目

1、公衆號爬蟲

基於搜狗微信搜索的公衆號爬蟲接口,可以擴展成基於搜狗搜索的爬蟲,返回結果是列表,每一項均是公衆號具體信息字典。

github地址:https://github.com/Chyroc/WechatSogou

2、豆瓣讀書爬蟲

可以爬下豆瓣讀書標籤下的所有圖書,按評分排名依次存儲,存儲到Excel中,可方便大家篩選蒐羅,比如篩選評價人數>1000的高分書籍;可依據不同的主題存儲到Excel不同的Sheet ,採用User Agent僞裝爲瀏覽器進行爬取,並加入隨機延時來更好的模仿瀏覽器行爲,避免爬蟲被封。

github地址:https://github.com/lanbing510/DouBanSpider

3、知乎爬蟲

此項目的功能是爬取知乎用戶信息以及人際拓撲關係,爬蟲框架使用scrapy,數據存儲使用mongo

github地址:https://github.com/LiuRoy/zhihu_spider

4、Bilibili用戶爬蟲

總數據數:20119918,抓取字段:用戶id,暱稱,性別,頭像,等級,經驗值,粉絲數,生日,地址,註冊時間,簽名,等級與經驗值等。抓取之後生成B站用戶數據報告。

github地址:https://github.com/airingursb/bilibili-user

5、新浪微博爬蟲

主要爬取新浪微博用戶的個人信息、微博信息、粉絲和關注。代碼獲取新浪微博Cookie進行登錄,可通過多賬號登錄來防止新浪的反扒。主要使用 scrapy 爬蟲框架。

github地址:https://github.com/LiuXingMing/SinaSpider

6、小說下載分佈式爬蟲

使用scrapy,Redis, MongoDB,graphite實現的一個分佈式網絡爬蟲,底層存儲MongoDB集羣,分佈式使用Redis實現,爬蟲狀態顯示使用graphite實現,主要針對一個小說站點。

github地址:https://github.com/gnemoug/distribute_crawler

7、中國知網爬蟲

設置檢索條件後,執行src/CnkiSpider.py抓取數據,抓取數據存儲在/data目錄下,每個數據文件的第一行爲字段名稱。

github地址:https://github.com/yanzhou/CnkiSpider

8、鏈家網爬蟲

爬取北京地區鏈家歷年二手房成交記錄。涵蓋鏈家爬蟲一文的全部代碼,包括鏈家模擬登錄代碼。

github地址:https://github.com/lanbing510/LianJiaSpider

9、京東爬蟲

基於scrapy的京東網站爬蟲,保存格式爲csv。

github地址:https://github.com/taizilongxu/scrapy_jingdong

10、QQ 羣爬蟲

批量抓取 QQ 羣信息,包括羣名稱、羣號、羣人數、羣主、羣簡介等內容,最終生成 XLS(X) / CSV 結果文件。

github地址:https://github.com/caspartse/QQ-Groups-Spider

11、烏雲爬蟲

烏雲公開漏洞、知識庫爬蟲和搜索。全部公開漏洞的列表和每個漏洞的文本內容存在MongoDB中,大概約2G內容;如果整站爬全部文本和圖片作爲離線查詢,大概需要10G空間、2小時(10M電信帶寬);爬取全部知識庫,總共約500M空間。漏洞搜索使用了Flask作爲web server,bootstrap作爲前端。

https://github.com/hanc00l/wooyun_public

12、hao123網站爬蟲

以hao123爲入口頁面,滾動爬取外鏈,收集網址,並記錄網址上的內鏈和外鏈數目,記錄title等信息,windows7 32位上測試,目前每24個小時,可收集數據爲10萬左右

github地址:https://github.com/simapple/spider

13、機票爬蟲(去哪兒和攜程網)

Findtrip是一個基於Scrapy的機票爬蟲,目前整合了國內兩大機票網站(去哪兒 + 攜程)。

github地址:https://github.com/fankcoder/findtrip

14、基於requests、MySQLdb、torndb的網易客戶端內容爬蟲

github地址:https://github.com/leyle/163spider

15、豆瓣電影、書籍、小組、相冊、東西等爬蟲集

github地址:https://github.com/fanpei91/doubanspiders

16、QQ空間爬蟲,包括日誌、說說、個人信息等,一天可抓取 400 萬條數據

github地址:https://github.com/LiuXingMing/QQSpider

17、百度mp3全站爬蟲,使用redis支持斷點續傳

github地址:https://github.com/Shu-Ji/baidu-music-spider

18、 淘寶和天貓的爬蟲,可以根據搜索關鍵詞,物品id來抓去頁面的信息,數據存儲在mongodb。

github地址:https://github.com/pakoo/tbcrawler

19、一個股票數據(滬深)爬蟲和選股策略測試框架。根據選定的日期範圍抓取所有滬深兩市股票的行情數據。支持使用表達式定義選股策略。支持多線程處理。保存數據到JSON文件、CSV文件。

github地址:https://github.com/benitoro/stockholm

20、百度雲盤爬蟲

github地址:https://github.com/k1995/BaiduyunSpider

21、社交數據爬蟲。支持微博,知乎,豆瓣。

github地址:https://github.com/Qutan/Spider

22、Python爬蟲代理IP池(proxy pool)。

github地址:https://github.com/jhao104/proxy_pool

23、爬取網易雲音樂所有歌曲的評論。

github地址:https://github.com/RitterHou/music-163

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章