歡迎光臨
每天分享高質量文章

爬過這些網站才算會爬蟲

(點選上方公眾號,可快速關註一起學Python)

作者:蘇克1900    原文連結:

https://mp.weixin.qq.com/s/uGG6E-OaW6bWjV8MdkplRA

摘要:微信、知乎、新浪等主流網站的模擬登陸爬取方法。

網路上有形形色色的網站,不同型別的網站爬蟲策略不同,難易程度也不一樣。從是否需要登陸這方面來說,一些簡單網站不需要登陸就可以爬,比如之前爬過的貓眼電影、東方財富網等。有一些網站需要先登陸才能爬,比如知乎、微信等。這類網站在模擬登陸時需要處理驗證碼、js 加密引數這些問題,爬取難度會大很多。費很大力氣登陸進去後才能爬取想要的內容,很花時間。

是不是一定要自己動手去實現每一個網站的模擬登陸方法呢,從效率上來講,其實大可不必,已經有前人替我們造好輪子了。

最近發現一個神庫,彙總了數十個主流網站的模擬登陸方法:

  • 知乎
  • 微信網頁版登入並獲取好友串列
  • Bilibili
  • Facebook
  • 無需身份驗證即可抓取Twitter前端API
  • 微博網頁版
  • QQZone
  • CSDN
  • 淘寶
  • Baidu
  • 果殼
  • JingDong 模擬登入
  • 163mail
  • 拉鉤
  • 豆瓣
  • Baidu2
  • 獵聘網
  • Github
  • 爬取圖蟲相應的圖片
  • 網易雲音樂
  • 糗事百科

這些網站基本採用的是直接登入或者 selenium+webdriver 方式。每一個網站都有完整的模擬登陸程式碼,拿來就可以用到自己的爬蟲中。

下麵我們來測試一下。

先說說很難爬的「知乎」,假如我們想爬取知乎主頁的 HTML 內容,就必須要先登陸才能爬,不然看不到這個介面。下麵來簡單梳理一下流程。

知乎需要手機號才能註冊登陸。為了方便測試,可以隨便找個手機號,手機號到哪兒去找呢,我上週寫的那篇文章就發揮作用了。文章裡介紹了一個免費電話號碼網站,用上面的手機號可以成功註冊。

順利登入後就可以進入主頁了。

下麵,我們用這個庫提供的程式碼來模擬登陸,輸出主頁 HTML 內容作測試。操作很簡單,只需要輸入手機號、密碼和驗證碼就可以了。

成功登陸後,接下來就可以做一些有意思的事了。比如曾有人爬取所有知乎賬號的資訊,分析了知乎使用者群體畫像。

是不是有點意思。

再來看看微信。用上面的微信程式碼可以把全部微信好友資訊爬取下來,比如:暱稱、性別、地域、個性簽名。接著可以分析一下你的朋友圈是什麼樣的,應該會很有趣。

還可以爬 B 站:

還可以爬鏈家租房資訊:

還有很多實用有趣的內容,就不一一羅列了,感興趣的話可以試試,最後放上大神的 GitHub 庫地址:

https://github.com/CriseLYJ/awesome-python-login-model

不要悶頭造輪子,多抬抬頭會發現你在做/想做的東西,別人早已經弄好了,拿來用或者參考學習都是件好事。

    贊(0)

    分享創造快樂