Python超简单分析评论提取关键词制作精美词云流程
目录
一、抓取全部评论1、找到评论接口2、Python 获取评论二、文本分词、词云制作1、文本分析2、生成词云3、初步效果-模糊不清4、最终效果-高清无马一、抓取全部评论
吾的这篇文章,有 1022 次评论,一条条看,吾看不过来,于是想到 Python 词云,提取关键词,倒也是一桩趣事。
评论情况: {"android": 545 次, "ios": 110 次, "pc": 44 次, "uniapp": 1 次}
一个小细节:给我评论的设备中,安卓苹果比是 5:1。
Building prefix dict from the default dictionary ... Loading model cost 0.361 seconds. Prefix dict has been built successfully.
1、找到评论接口
打开 chrome 浏览器,开发者模式 点击评论列表(图标 1) 点击接口链接(图标 2) 查看 response 返回值(评论结果的 json 格式)2、Python 获取评论
def get_comments(articleId): # 确定评论的页数 main_res = get_commentId(articleId,1) pageCount = json.loads(main_res)["data"]["pageCount"] comment_list,comment_list2 = [],[] source_analy = {} for p in range(1,pageCount+1): res = get_commentId(articleId, p) try: commentIds = json.loads(res)["data"]["list"] for i in commentIds: commentId = i["info"]["commentId"] userName = i["info"]["userName"] nickName = i["info"]["nickName"] ## 获取用户名 source_dvs = i["info"]["commentFromTypeResult"]["key"] # 操作设备 content = i["info"]["content"] comment_list.append([commentId, userName, nickName, source_dvs, content]) comment_list2.append("%s 丨 %s"%(userName, nickName)) if source_dvs not in source_analy.keys(): source_analy[source_dvs] = 1 else: source_analy[source_dvs] = source_analy[source_dvs] + 1 # print(source_analy) except: print("本页失败!") print("评论数:" + str(len(comment_list))) return source_analy, comment_list, comment_list2
二、文本分词、词云制作
1、文本分析
西红柿采用的是 结巴 分词, 和 wordcloud。
# -*- coding:utf8 -*- import jieba import wordcloud
代码实现:
seg_list = jieba.cut(comments, cut_all=False) # 精确模式 word = " ".join(seg_list)
2、生成词云
背景图 西红柿采用的是 心形图片
pic = mpimg.imread("/Users/pray/Downloads/aixin.jpeg")
完整代码::
def word_cloud(articleId): source_analy, comment_list, comment_list2 = get_comments(articleId) print("评论情况:", source_analy) comments = "" for one in comment_list: comment = one[4] if "face" not in comment: comments = comments + comment seg_list = jieba.cut(comments, cut_all=False) # 精确模式 word = " ".join(seg_list) pic = mpimg.imread("/Users/pray/Downloads/aixin.jpeg") wc = wordcloud.WordCloud(mask=pic, font_path="/Library/Fonts/Songti.ttc", width=1000, height=500, background_color="white").generate(word)
3、初步效果-模糊不清
西红柿发现文字模糊、图像曲线边缘不清晰的问题。
于是,指定分辨率,高清整起来。
# 保存 plt.savefig("xin300.png", dpi=300) #指定分辨率保存
4、最终效果-高清无马
到此这篇关于Python超简单分析评论提取关键词制作精美词云流程的文章就介绍到这了,更多相关Python 制作词云内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?