整理一下文章 《[數據分析] 簡書在微博上的分享情況》 的代碼。
微博爬蟲的難點:
- 登錄問題
之前我用了兩種方式:1)模擬登錄,手動輸入驗證碼,方法見文尾的鏈接《【圖解】Python模擬登錄新浪微博》;2)直接用Cookie,把登錄過的Cookie復制粘貼到代碼中,代碼中WeiboSpider中的方式即是。
這次參考了網上代碼,使用的用戶名+密碼的方式登錄,注意不是直接登錄到新浪微博,而是新浪SSO。
https://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.15)
cookies.py中使用戶名密碼登錄,獲取cookie,在middleware.py中設置請求request的cookie。為了防止Ban,可以多帳號隨機cookie的方式。
- 反爬蟲措施
代碼中沒有加瀏覽器隨機請求頭(參見之前文章中有),隨機代理IP,有空補上。
代碼GitHub:https://github.com/ppy2790/weibo2
PS: 之前的文章:
【圖解】Python模擬登錄新浪微博