本文转载自微信公众号「志斌的python笔记」,作者志斌。转载本文请联系志斌的python笔记公众号。
大家好,我是志斌~
在此建党一百周年之际,祝愿我们的党生日快乐,祝愿我们的祖国繁荣昌盛!
刚刚志斌打开微博,发现热搜第一条是“今天的微博评论太好哭了“,它有263w+的热度。 于是志斌将这条微博下的评论,给全部爬取了下来,并做成词云图进行展示,看看网友们到底评论了什么,让人非常好哭!
需要源码的读者,加志斌微信获取哈~
01数据采集
志斌在之前的两篇文章中,详细的介绍了如何获取微博评论,有兴趣的读者可以看看这两篇文章批量爬取不同微博下的评论!爬取微博下全部评论数据~。这里志斌直接展示核心代码了,代码如下:
- for page in range(1,10000):
- if page == 1 :
- params = (
- ('id', '4654152979845247'),
- ('mid', '4654152979845247'),
- ('max_id_type', '0'),
- )
- #s = requests.Session()
- response = requests.get('https://m.weibo.cn/comments/hotflow', headers=headers, params=params)
- a = response.json()['data']['max_id']
- b = response.json()['data']['max_id_type']
- for i in response.json()['data']['data']:
- pinglunshijian = i['created_at']
- neirong = re.sub(r'<[^>]*>', '', i['text'])
- id = i['user']['id']
- yonghumingcheng = i['user']['screen_name']
- with open(r'71.txt', 'a', encoding='utf-8') as f:
- f.write(f'{neirong}\n')
- params = (
- ('id', '4654152979845247'),
- ('mid', '4654152979845247'),
- ('max_id', str(a)),
- ('max_id_type', str(b)),
- )
- print(f'爬取第{page}页数据......')
- time.sleep(random.randint(1,3))
02词云图展示
我们一共获取了8262条数据,对这些数据进行词云图绘制,我们发现盛世、祖国、华夏、中国、我们、祝福、骄傲等词较多。看来评论里面都是祝福我们的祖国和感谢这盛世的!
志斌也点开这条热搜看了一下,里面的评论确实很让人泪目,尤其是这句:“我们生在国旗下,长在春风里;人民有信仰,国家有力量;目光所致皆为华夏,五星闪耀皆为信仰。”让志斌内心久久不能平静!
代码如下:
- with open("71.txt",encoding='utf-8') as f:
- job_title_1 = f.read()
- contents_cut_job_title = jieba.cut(job_title_1)
- contents_list_job_title = " ".join(contents_cut_job_title)
- wc = WordCloud(stopwords=STOPWORDS.add("一个"), collocations=False,
- background_color="white",
- font_path=r"K:\苏新诗柳楷简.ttf",
- width=400, height=300, random_state=42,
- mask=imread('xin.jpg', pilmode="RGB")
- )
- wc.generate(contents_list_job_title)
- wc.to_file("推荐语.png")
03小结
1. 今天上午看建党百年,听习近平总书记的重要讲话,感觉自己何其有幸,生于华夏,生于盛世,不经乱战,作为一名光荣的中共党员,自己以后定当不忘初心,牢记使命,以梦为马,不负韶华!
2. 本文仅作学习参考,不做它用。