王力宏的瓜很大!我用Python爬取了微博評論區(qū),發(fā)現(xiàn)更精彩
↑?關(guān)注 + 星標?,每天學(xué)Python新技能
后臺回復(fù)【大禮包】送你Python自學(xué)大禮包
大家好,我是龍哥!



網(wǎng)頁分析
我們F12打開瀏覽器開發(fā)者模式如下:
頁面上展示的信息我們都可以在右側(cè)對應(yīng)的真實鏈接中反映出來。

并且我們可以看到這是一個GET請求,我們可以在請求網(wǎng)站時加上
headers防止被網(wǎng)站反爬而不能獲取到數(shù)據(jù)

發(fā)送請求
我們要獲取的數(shù)據(jù)很簡單,用戶id、用戶名稱、評論時間、點贊人數(shù)和評論內(nèi)容即可。
其他數(shù)據(jù)可以根據(jù)需求自行獲取

如上圖所示,我們要獲取的數(shù)據(jù)是存在于一個叫做data的json文件中
url?=?'https://m.weibo.cn/comments/hotflow?id=4715546983534277&mid=4715546983534277&max_id_type=0'
print('當前url是:',?url)
??headers?=?{
??????'cookie':?'WEIBOCN_FROM=1110006030;?SUB=_2A25MZ_SXDeRhGeVG7lAZ9S_PwjiIHXVvq5zfrDV6PUJbkdCOLUOtkW1NT7e8qp27GOSnSoETtSb_elCC-bWgVj4i;?MLOGIN=1;?_T_WM=38762224%2594%25E7%259B%259F%25E6%2589%258B%25E6%25B8%25B8%25E8%2583%25BD%25E7%25A2%25BE%25E5%258E%258B%25E7%258E%258B%25E8%2580%2585%25E8%258D%25A3%25E8%2580%2580%25E5%2590%2597%2523%26uicode%3D20000061%26fid%3D4690050909209999',
??????'referer':'https://m.weibo.83534277',
??????'user-agent':?'Mozilla/5.0?(Windows?NT?10.0;?WOW64)?AppleWebKi96.0.4651.0?Safari/537.36'
????}
??resp?=?requests.get(url,?headers=headers).json()
??ic(resp)

接下來我們再獲取data中的提取具體數(shù)據(jù)如下:
for?item?in?wb_info:
????user_id?=?item.get('user')['id']??#?用戶id
????author?=?item['user']['screen_name']??#?作者名稱
????auth_sign?=?item['user']['description']??#?作者座右銘
????time?=?str(item['created_at']).split('?')[1:4]
????rls_time?=?'-'.join(time)??#?發(fā)帖時間
????text?=?''.join(re.findall('[\u4e00-\u9fa5]',?item['text']))??#?發(fā)帖內(nèi)容
'''
6252999249?可愛fanChunChun?獨立自行?Dec-18-00:13:25?被降熱搜了資本的力量就是牛逼哈
2013749944?你想的那些東?2015?很高興認識你們?Dec-18-00:26:08?廣電總局立刻封殺王力宏下架其所有音樂與電影
6739242229 天空記錄器?普通人,就愛指指點點,你杠我就是我對,懂?Dec-18-00:19:34 重點不是這個一直以來有權(quán)有勢的人操弄媒體媒體操弄大眾導(dǎo)致社會價值觀的偏差與論思維被控制雖然這個產(chǎn)業(yè)很大我衷心的希望未來有權(quán)有勢的人能被禁止透過營銷來控制與論導(dǎo)向和維護自己的人設(shè)讓公眾人物能夠以真實的面貌呈現(xiàn)在大眾面前也讓事實能夠被看見
6306576835?山支大隊真棒?美女都喜歡?Dec-18-00:14:56?瑪?shù)潞灹瞬黄降然榍昂霞s的情況下生了三個孩子女孩子一定要愛自己啊
3030355620?放開我我要給賀銀成生猴子?隨便逛逛?Dec-18-00:12:49?好像不僅說了出軌還有召吧
7644844440?小悅今年上岸了嗎?非追星人?Dec-18-00:17:38?讓高學(xué)歷老婆一胎胎的生出軌選擇的卻都是漂亮的小女生很難不讓人想到是找高學(xué)歷孕母從歲就被惦記的高級孕母但凡她沒有考上哥倫比亞大學(xué)她都會從名單里踢出去吧
5656318857?MISS_Love_1314??Dec-18-00:18:08?所以娃哈哈換掉王力宏是有預(yù)感還是
5671431234?闊愛到冒泡?早睡早起身體好?Dec-18-00:22:38?作為女生大家能不能讓她上熱搜
6233343954?鏡面cyndi?腦子里好多東西沒地方說?Dec-18-00:18:23?垃圾男在降熱搜了吐
6346254326?xxxx_zzz_?Zhang·F·Q?Dec-18-00:21:20?從熱四降到了果然是李靚蕾文中寫的有權(quán)有勢的人會操控輿論導(dǎo)向和維護自己的人設(shè)看你怎么公關(guān)吧攤手
7407079288?我亦燦燦??Dec-18-00:19:06?娃哈哈這波我在第五層
5262173636?粥南家的吃飯小能手?好好生活?變得更好?Dec-18-00:19:33?圖片評論
7404278667 小宇和胖胖阿毛?阿毛是個大胖可愛金毛~畫不動圖的建筑轉(zhuǎn)行規(guī)劃狗,無邏輯話癆。Dec-18-00:19:56 這熱搜度撤的太假了
5637990265?溜溜達達的山東小大爺?暢飲泉中水,蕩舟大明湖,土生土長的泉城濟南土人,溜溜達達的山東中年小老頭子(-ι_-?)?Dec-18-00:14:45?花田里犯了錯挖鼻草垛子里也
6572247262?Piertotum-Locomotor?老港劇人?Dec-18-00:14:03?王力宏說自己單純汗
5268129530?棠花落云?四級必過?Dec-18-00:33:51?王力宏今年四六級通過率低你負主要責(zé)任
7578619018?重生之鈕祜祿腸?老公奴?Dec-18-00:17:19?別壓熱搜了怒怒怒怒怒
'''
多頁獲取
因為我們要獲取的數(shù)據(jù)不止一頁,所以咱們來接著分析翻頁。就從每一頁的url開始。
https://m.weibo.cn/comments/hotflow?id=4715546983534277&mid=4715546983534277&max_id_type=0
https://m.weibo.cn/comments/hotflow?id=4715546983534277&mid=4715546983534277&max_id=388720425209630&max_id_type=0
https://m.weibo.cn/comments/hotflow?id=4715546983534277&mid=4715546983534277&max_id=179538338095825&max_id_type=0
https://m.weibo.cn/comments/hotflow?id=4715546983534277&mid=4715546983534277&max_id=149439207266543&max_id_type=0



????for?page?in?range(2,?100?+?1):
????????print(f'----------正在打印第{page}頁數(shù)據(jù)----------')
????????if?page?>?16:
????????????max_id_type?=?1
????????else:
????????????max_id_type?=?0
????????url?=?f'https://m.weibo.cn/comments/hotflow?id=4715546983534277&mid=4715546983534277&max_id={max_id}&max_id_type={max_id_type}'

數(shù)據(jù)存儲
我們使用openpyxl將爬取到的數(shù)據(jù)保存至Excel文件中,方便我們后續(xù)對數(shù)據(jù)進行處理和可視化操作。
總共獲取到100頁數(shù)據(jù)如下:

數(shù)據(jù)清洗
我們使用pandas來清理數(shù)據(jù),刪除重復(fù)記錄和有缺失值的行,隨機展示五條數(shù)據(jù)如下:
pd.set_option('display.max_columns',?None)???#?顯示完整的列
pd.set_option('display.max_rows',?None)??#?顯示完整的行
pd.set_option('display.expand_frame_repr',?False)??#?設(shè)置不折疊數(shù)據(jù)
#?讀取數(shù)據(jù)
rcv_data?=?pd.read_excel('./王力宏.xlsx')
#?刪除重復(fù)記錄
rcv_data?=?rcv_data.drop_duplicates()
#?刪除缺失值
rcv_data?=?rcv_data.dropna()
#?抽樣展示5條數(shù)據(jù)
print(rcv_data.sample(5))
'''????????????用戶id??????作者名稱??????????????????????????????????????????????作者座右銘?????????????發(fā)帖時間???????????????????????????????????????????????發(fā)帖內(nèi)容
417 ? 2436212781 ???奇藝1107 ??????????????????????????????任何為人稱道的美麗,不及第一次遇見你。。? Dec-18-11:47:47 ????????????????????????????????太惡劣了,想玩別結(jié)婚啊,騙婚怎么回事
1235 7197281512 ??? ww吳哼哼????????????????????????????????????????日常為吳宇恒打call Dec-18-09:01:40??離譜!這種新聞越來越多,真害怕有一天當丈夫?qū)τ诔鲕夁@個事實會對妻子坦然大方地說“我只是犯了天...
1006??7411126696??火狐貍60292??Poverty?and?human?folly?magnify?natural?disasters??Dec-18-09:18:33???????????????????????????????????????????又一個藝人社崩塌
1282 6067434117 ???????竹苜????????????????????????????????????????????喜歡再來煩我!? Dec-18-08:58:10????????????????????????????????臥槽,這特么什么人。。。渣渣渣!服了。
1169??1882120530???最閃亮de謃謃????????????????????????????????????????????大度從容看世界??Dec-18-09:07:24?????????????????????????????????????????????一切毀于素人'''
詞頻展示
我們使用pandas分析評論數(shù)據(jù)并提取文章前十大詞匯
并使用氣泡圖和樹狀圖展示如下:
#?詞頻設(shè)置
all_words?=?[word?for?word?in?result.split('?')?if?len(word)?>?1?and?word?not?in?stop_words]
wordcount?=?Counter(all_words).most_common(10)
x1_data,?y1_data?=?list(zip(*wordcount))
??
'''
('王力宏',?'封殺',?'娛樂圈',?'不是',?'什么',?'沒有',?'資本',?'出軌',?'希望',?'媒體')
(107,?54,?47,?42,?42,?40,?38,?38,?30,?29)
'''
氣泡圖

餅圖
詞云展示
最后我們使用wordcloud來切割分詞,使用stylecloud來展示多樣形式的詞云圖如下:
#?獲取列內(nèi)容
c_title?=?rcv_data['發(fā)帖內(nèi)容'].tolist()
#?觀影評論詞云圖
wordlist?=?jieba.cut(''.join(c_title))
result?=?'?'.join(wordlist)
#?設(shè)置停用詞
stop_words?=?['都',?'我',?'了',?'的',?'是',?'他',?'你',?'有',?'啊',?'就',?'吧',?'不',?'人',?'還',?'這',?'事',?'也',?'沒',?'嗎',
??????????????'知道',?'男人',?'這么',?'就是',?'一個',?'好',?'說',?'太',?'要',?'給',?'對',?'很',?'和',?'又',?'在',?'一直',?'自己',?'真的',?'這個']
def?visual_ciyun1():
????mask?=?imread('wlh.jpg')
????wordcloud?=?WordCloud(font_path='msyh.ttc',?mask?=?mask,?stopwords=stop_words,?background_color='white').generate(result)
????wordcloud.to_file('pic.jpg')
????print('詞云圖1繪制成功!')

點贊最多
max_stars?=?rcv_data[rcv_data['點贊人數(shù)']?==?rcv_data['點贊人數(shù)'].max()]
'''
ic|?max_stars:??????????用戶id???????????作者名稱?作者座右銘?????????????發(fā)帖時間???點贊人數(shù)?????????????發(fā)帖內(nèi)容
???????????????0??6252999249??可愛fanChunChun??獨立自行??Dec-18-00:13:25??73195??被降熱搜了資本的力量就是牛逼哈
'''
熱搜評論點贊排行榜
我們按照評論點贊將評論排序如下:

情感分析
all_words?=?[word?for?word?in?result.split('?')?if?len(word)?>?1?and?word?not?in?stop_words]
????positibe?=?negtive?=?middle?=?0
????for?i?in?all_words:
????????pingfen?=?SnowNLP(i)
????????if?pingfen.sentiments?>?0.7:
????????????positibe?+=?1
????????elif?pingfen.sentiments?0.3:
????????????negtive?+=?1
????????else:
????????????middle?+=?1
????print(positibe,?negtive,?middle)
'''
1471?568?4241
'''
最后想說的是
出軌是一種本能,但忠誠是一種選擇。
我們行走在世間,總會遇到更好看的人、更優(yōu)秀的人、更年輕的人,可是這個世界上有太多人了,我們怎么能保證這個一定是最后一個?
遇到的新人或許更好,但好的有限。為了這一點點新鮮感,就要去換一個伴侶,就要背信棄義去做各種齷齪的事情,這樣和禽獸又有什么區(qū)別?
人如果一味放縱自己的欲望,不僅僅是身敗名裂、失去婚姻和家庭,還會走向自我滅亡的道路。
推薦閱讀
