教你用Python爬蟲爬取知乎妹子信息,還愁找不到女朋友嗎?

Python模擬爬蟲抓取知乎用戶信息以及人際拓撲關係,使用scrapy爬蟲框架,數據存儲使用mongo數據庫。

教你用Python爬蟲爬取知乎妹子信息,還愁找不到女朋友嗎?

既然需要用到scrapy爬蟲框架,那就來科普一下scrapy爬蟲框架吧~

Scrapy:1、Python開發的一個快速、高層次的屏幕抓取和web抓取框架,用於抓取 web站點並從頁面中提取結構化的數據。Scrapy用途廣泛,可以用於數據挖掘、監測和自動化測試。

2、Scrapy吸引人的地方在於它是一個框架,任何人都可以根據需求方便的修改。它也提供了多種類型爬蟲的基類,如BaseSpider、sitemap爬蟲等,最新版本又提供了web2.0爬蟲的支持。

教你用Python爬蟲爬取知乎妹子信息,還愁找不到女朋友嗎?

(科普完啦~咱迴歸正題~)

爬蟲項目部署:

  進入zhihu_spider後執行```docker-compose up``` ,進入container後和本地運行方法相同,依次啟動mongo、rabbitmq、異步任務、爬蟲進程即可。

其它需要說明的問題:

  爬蟲框架從start\_requests開始執行,此部分會提交知乎主頁的訪問請求給引擎,並設置回調函數為post_login.

  post\_login解析主頁獲取\_xsrf保存為成員變量中,並提交登陸的POST請求,設置回調函數為after\_login.

  after\_login拿到登陸後的cookie,提交一個start\_url的GET請求給爬蟲引擎,設置回調函數parse\_people.

  parse\_people解析個人主頁,一次提交關注人和粉絲列表頁面到爬蟲引擎,回調函數是parse\_follow, 並把解析好的個人數據提交爬蟲引擎寫入mongo。

  parse\_follow會解析用戶列表,同時把動態的人員列表POST請求發送只引擎,回調函數是parse\_post\_follow,把解析好的用戶主頁鏈接請求也發送到引擎,人員關係寫入mongo。

  parse\_post\_follow單純解析用戶列表,提交用戶主頁請求至引擎。

本地運行請注意:

爬蟲依賴mongo和rabbitmq,因此這兩個服務必須正常運行和配置。為了加快下載效率,圖片下載是異步任務,因此在啟動爬蟲進程執行需要啟動異步worker,啟動方式是進入zhihu_spider/zhihu目錄後執行下面命令:  

celery -A zhihu.tools.async worker --loglevel=info 

源碼太長了,這裡就不一一一展示了,想要完整源碼練手的小夥伴

複製鏈接至瀏覽器​打開:https://pan.baidu.com/s/1BeZBe-2osp1OdwR7_xQvwA

即可獲取完整源碼(無提取碼)

源碼測試截圖:

教你用Python爬蟲爬取知乎妹子信息,還愁找不到女朋友嗎?

最後,如果你想學python編程可以私信小編“01”獲取素材資料與開發工具和聽課權限!

教你用Python爬蟲爬取知乎妹子信息,還愁找不到女朋友嗎?

聲明:本文於網絡整理,著作權歸原作者所有,如有侵權,請聯繫小編刪除。


分享到:


相關文章: