七夕过后,你分析过自己单身原因的原因吗?
昨天的朋友圈都在喪心病狂的秀恩愛,秀520紅包!于是就有人出來普法教育。。。
可是很多老鐵連發紅包的機會都沒有。。。
為什么這么多如此優秀的同學都還是單身呢?
一、需求背景
今天逛微博的時候發現一個有趣的話題#90后單身原因TOP3#
七夕之際,一份針對全國90后青年婚戀觀進行抽樣調查公布了結果。結果顯示,一線城市單身占比持續領先。90后單身原因TOP3:圈子小、工作忙、對愛情幻想過于完美。
單身的三大原因:圈子小、工作忙、對愛情幻想過于完美!
豬哥覺得這三個原因都并不合理,難道單身的原因難道不是因為窮嗎?
二、功能描述
好奇這個調查是怎么來的?真實性有待考證,剛好這幾天我們也學習了如何爬取微博話題,今天就來驗證一下為何如此優秀卻依然單身!
三、技術方案
四、模擬登錄
模擬登錄之前講爬取**#周杰倫超話#**的時候已經講過了,這里就不再重復,直接貼出代碼!
五、爬取話題
1.找到話題加載數據url
https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D61%26q%3D%2390%E5%90%8E%E5%8D%95%E8%BA%AB%E5%8E%9F%E5%9B%A0TOP3%23%26t%3D0&isnewpage=1&extparam=pos%3D41%26c_type%3D31%26realpos%3D40%26flag%3D0%26filter_type%3Drealtimehot%26cate%3D0%26display_time%3D1565179797&luicode=10000011&lfid=106003type%3D25%26t%3D3%26disable_hot%3D1%26filter_type%3Drealtimehot&page_type=searchall
2.代碼模擬請求數據
我們依然使用requests庫來爬取數據,這次豬哥在請求的時候增加了一個參數:timeout,這樣做是為了防止請求某個一直沒有應答導致堵死其他請求!
3.提取微博內容
要想提取微博內容就需要了解請求返回的數據格式
了解數據格式之后我們就可以寫代碼提取我們想要的微博內容啦!
上圖我們已經拿到微博內容,但是還有很多網頁標簽,我們來用正則將網頁標簽去掉,和開頭的話題開頭!
4.保存文件
微博內容提取出來之后,我們將他們保存起來!
六、批量爬取
批量爬取就涉及分頁,上次我們將周杰倫超話時,它的分頁機制是:
微博超話分頁機制:根據時間分頁,每一條微博都有一個since_id,時間越大的since_id越大所以在請求時將since_id傳入,則會加載對應話題下比此since_id小的微博,然后又重新獲取最小since_id將最小since_id傳入,依次請求,這樣便實現分頁
那這個話題的分頁機制也是這樣的嗎?我們來對比一下第一次請求于第二次請求的url
我們發現普通話題的分頁機制竟然是page的形式,看來微博對不同級別的話題有不同的分頁機制!
page形式的分頁機制,之前我們講了很多個案例,直接for循環傳入i,而這個i就當作page就可以啦!
七、數據分析
數據分析我們采用pyecharts庫,這是一個非常好用的可視化分析庫!
先讀取數據,然后使用jieba庫進行分詞和數據清洗,最后使用pyecharts庫做展示!
之前調查結果顯示單身的三大原因是:圈子小、工作忙、對愛情幻想過于完美。在我們數據分析得出的結果好像確實如此!
之前說大家單身的原因是因為窮,看來只有豬哥窮!
獲取源碼,掃描下方二維碼關注微信公眾號「裸睡的豬」,回復:微博單身話題
總結
以上是生活随笔為你收集整理的七夕过后,你分析过自己单身原因的原因吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python爬虫的起点
- 下一篇: 学习这么美丽的事,你要不要和我一起?