點(diǎn)擊上方“ 何 俊林 ”,馬上關(guān)注,每天早上 8:50 準(zhǔn)時(shí)推送
真愛(ài),請(qǐng)置頂或星標(biāo)
昨天的朋友圈都在喪心病狂的秀恩愛(ài),秀520紅包!于是就有人出來(lái)普法教育。。。
可是還有更多老鐵連發(fā)紅包的機(jī)會(huì)都沒(méi)有。。。
為什么這么多如此優(yōu)秀的同學(xué)都還是單身呢? 你有分析過(guò)自己?jiǎn)紊淼脑騿幔?
一、需求背景
今天逛微博的時(shí)候發(fā)現(xiàn)一個(gè)有趣的話題 #90后單身原因TOP3#
七夕之際,一份針對(duì)全國(guó)90后青年婚戀觀進(jìn)行抽樣調(diào)查公布了結(jié)果。結(jié)果顯示,一線城市單身占比持續(xù)領(lǐng)先。90后單身原因TOP3: 圈子小、工作忙、對(duì)愛(ài)情幻想過(guò)于完美 。
單身的三大原因: 圈子小、工作忙、 對(duì)愛(ài)情幻想過(guò)于完美 !
豬哥覺(jué)得這三個(gè)原因都并不合理,難道單身的原因難道不是因?yàn)? 窮 嗎?
二、功能描述
好奇這個(gè)調(diào)查是怎么來(lái)的?豬哥認(rèn)為真實(shí)性有待考證,剛好這幾天我們也學(xué)習(xí)了如何爬取微博話題,今天就來(lái)分析一下為何很多同學(xué)如此優(yōu)秀卻依然單身!
三、技術(shù)方案
-
模擬登錄微博
-
爬取話題
-
保存文件
-
數(shù)據(jù)清洗
-
數(shù)據(jù)分析
四、模擬登錄
模擬登錄之前講爬取 #周杰倫超話# 的時(shí)候已經(jīng)講過(guò)了,這里就不再重復(fù),直接貼出代碼!
五、爬取話題
1.找到話題加載數(shù)據(jù)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.代碼模擬請(qǐng)求數(shù)據(jù)
我們依然使用 requests庫(kù) 來(lái)爬取數(shù)據(jù),這次豬哥在請(qǐng)求的時(shí)候增加了一個(gè)參數(shù): timeout ,這樣做是為了防止請(qǐng)求某個(gè)一直沒(méi)有應(yīng)答導(dǎo)致堵死其他請(qǐng)求!
3.提取微博內(nèi)容
要想提取微博內(nèi)容就需要了解請(qǐng)求返回的數(shù)據(jù)格式
了解數(shù)據(jù)格式之后我們就可以寫代碼提取我們想要的微博內(nèi)容啦!
上圖我們已經(jīng)拿到微博內(nèi)容,但是還有很多網(wǎng)頁(yè)標(biāo)簽,我們來(lái)用正則將網(wǎng)頁(yè)標(biāo)簽去掉,和開頭的話題開頭!
4.保存文件
微博內(nèi)容提取出來(lái)之后,我們將他們保存起來(lái)!
六、批量爬取
批量爬取就涉及分頁(yè),上次我們將周杰倫超話時(shí),它的分頁(yè)機(jī)制是:
微博超話分頁(yè)機(jī)制:根據(jù)時(shí)間分頁(yè),每一條微博都有一個(gè)since_id,時(shí)間越大的since_id越大所以在請(qǐng)求時(shí)將since_id傳入,則會(huì)加載對(duì)應(yīng)話題下比此since_id小的微博,然后又重新獲取最小since_id將最小since_id傳入,依次請(qǐng)求,這樣便實(shí)現(xiàn)分頁(yè)
那這個(gè)話題的分頁(yè)機(jī)制也是這樣的嗎?我們來(lái)對(duì)比一下第一次請(qǐng)求與第二次請(qǐng)求的url
我們發(fā)現(xiàn)普通話題的分頁(yè)機(jī)制竟然是 page 的形式, 看來(lái)微博對(duì)不同級(jí)別的話題有不同的分頁(yè)機(jī)制!
page形式的分頁(yè)機(jī)制,之前我們講了很多個(gè)案例,直接for循環(huán)傳入i,而這個(gè)i就當(dāng)作page就可以啦!
七、數(shù)據(jù)分析
數(shù)據(jù)分析我們采用
pyecharts庫(kù)
,這是一個(gè)非常好用的可視化分析庫(kù)!
先讀取數(shù)據(jù),然后使用jieba庫(kù)進(jìn)行分詞和數(shù)據(jù)清洗,最后使用
pyecharts庫(kù)
做展示!
之前調(diào)查結(jié)果顯示單身的三大原因是: 圈子小、工作忙、對(duì)愛(ài)情幻想過(guò)于完美 。在我們數(shù)據(jù)分析得出的結(jié)果好像確實(shí)如此!
說(shuō)句題外話,有不少人想加魚哥微信,魚哥姑且放出來(lái),但是坑位有限哦


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
