前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一起用Python来看看川普今年在推特上都发了些什么

一起用Python来看看川普今年在推特上都发了些什么

作者头像
树枝990
发布2020-08-19 10:31:00
7200
发布2020-08-19 10:31:00
举报
文章被收录于专栏:拇指笔记

引言

川普作为一个推特狂人,上台以来一共发了一万多条推特,本文爬取了川普在2020年的全部推特内容并将其绘制成了词云图。

相关模块

代码语言:javascript
复制
selenium:抓取动态网页
bs4:解析网页
nltk:分词和统计词频
wordcloud:绘制词云
imageio:读取图片

相关文件

程序文件:后台回复 川普 获取。

实现效果

功能实现

整个流程很简单,首先使用selenium+bs4获取网页信息,然后使用nltk对文本分词并去除标点符号和停用词,最后可视化得到的数据,这里我使用wordcloud绘制了一个词云。

获取网页信息这部分就不赘述了,在之前的文章里介绍过很多次了,之所以选择selenium这个速度不是很快的工具是因为我不太懂js方面的知识,为了尽可能降低学习成本,所以我选择了selenium。

可以参考之前的这篇文章 到底应该怎么给女朋友选口红色号?

唯一需要注意的是推特的网页是一个下拉加载的动态网页,爬取这个网页需要每隔几秒将网页下拉加载更多。实现方法也很简单。

然后使用nltk库去除文本中的停用词和标点符号。nltk库提供了英语的停用词,可以通过stop = stopwords.words('english')加载停用词。

得到停用词列表后,通过循环去除文本中的停用词。

此时文本中还有大量的标点符号,所以还需要去掉文本中的标点符号。

代码语言:javascript
复制
words=[word.lower() for word in words if word.isalpha()]

去除掉无用信息后就可以统计一下文本中的词频了,nltk库已经帮你实现了这一功能。

代码语言:javascript
复制
freq_word = nltk.FreqDist(words)

最后,因为wordcloud绘制词云时传入的是一个字典,所以需要将获得的词频数据写入一个字典。

得到了文本中的词频数据后,就可以开始进行可视化了,因为我想做成一个有形状的词云,所以我选择了wordcloud库而没有选择pyecharts库。

使用wordcloud库生成一个词云只需要两行代码,第一行导入轮廓图片,第二行使用WordCloud()生成即可。

最后保存生成的词云图

代码语言:javascript
复制
wc.to_file('Trump.png')

最后

如果觉得本文还可以,还请各位点个在看。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拇指笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 相关模块
  • 相关文件
  • 实现效果
  • 功能实现
  • 最后
相关产品与服务
腾讯云图数据可视化
腾讯云图数据可视化(Tencent Cloud Visualization) 是一站式数据可视化展示平台,旨在帮助用户快速通过可视化图表展示大量数据,低门槛快速打造出专业大屏数据展示。精心预设多种行业模板,极致展示数据魅力。采用拖拽式自由布局,全图形化编辑,快速可视化制作。腾讯云图数据可视化支持多种数据来源配置,支持数据实时同步更新,同时基于 Web 页面渲染,可灵活投屏多种屏幕终端。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档