Scrapy 爬取新浪微博


1 本節目標

本次爬取的日標是新浪微博用戶的公開基本信息,如用戶昵稱、頭像、用戶的關注、粉絲列表以

及發布的微博等,這些信息抓取之后保存至 MongoDB。

2.如何實現:

以微博的幾個大 V為起始點,爬取 他們各內的粉絲和關注列表,然后獲取粉絲和關注列表的粉絲和關注列表,以 此類推,這樣下去就可 以實現遞歸爬取。 如果一個用戶與其他用戶有社交網絡上的關聯,那他們的信息就會被爬蟲抓取到,這樣我們就可以做到對所有用戶的爬取 。 通過這種方式,我們可以得到用戶的唯一 ID, 再根據 ID獲 取每個用戶發布的微博即可 。

3. 分析

爬取站點是: https://m.weibo.cn,此站點是微博移動端的站點 。 打開該站點會跳轉到登錄頁面,這是因為主頁做了登錄限制 。 不過我們可以直接打開某個用戶詳情頁面

新浪微博的反爬能力非常強,如果沒有登錄而直接請求微博的 API接口,這非常容易導致 403狀態碼。所以在這里我們實現一個 Middleware,為每個 Request添加隨機的 Cookies。

微博還有一個反爬措施就是,檢測到同一 IP請求量過大時就會出現 414 狀態碼 。 如果遇到這樣的情況可以切換代理。

Github:https://github.com/chengchenga/weibopaqu/commit/832973f5832924207294ef3b4e1258c864226bb3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM