文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python selenium如何把歌词评论做成词云图

2023-06-26 06:47

关注

今天给大家介绍一下Python selenium如何把歌词评论做成词云图。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。

前言

一首歌热门了,参与评论的人也很多,这时无论好坏评论都来了,没有人控评得话,指不定乱七八糟

但是自己有喜欢看评论,不想影响好心情,想看看精彩评论,看看歌词立意,那怎么办呢?

那本次咱们就把歌词给自动下载保存到电脑上,做成词云图给它分析分析。

本次目的

用selenium自动把歌词评论下载下来,做成好看的词云图

本次用到的模块和包:

re # 正则表达式 内置模块

selenium # 实现浏览器自动操作的

jieba # 中文分词库

wordcloud # 词云图库

imageio # 图像模块

time # 内置模块

需要安装的模块安装方法:

以 selenium 为例,直接pip install selenium

下载速度慢就用镜像源下载

驱动安装

要实现浏览器自动操作,咱们得安装一个浏览器驱动。

网址我就不发了,网上直接搜谷歌浏览器驱动就可以找到,实在找不到的话私聊我

建议用谷歌浏览器,以谷歌浏览器为例,首先看一下咱们浏览器的的版本。

浏览器右上角三个点,点开后点击设置。

Python selenium如何把歌词评论做成词云图

然后点击关于Chrome ,右边的那一串数字就是版本号了。

Python selenium如何把歌词评论做成词云图

然后找到跟你的版本号相同的版本下载,没有相同的就下载最相近的版本也可以。

Python selenium如何把歌词评论做成词云图

你的代码放到一起,跟代码放一起的话,缺点是你每次要使用,没保存的话都得去下载。

还有一种办法是直接放到你的python目录,这种的优点是一次搞定可以用很多次。缺点是每次版本更新,你还是得去下载新的。

我反正每次都是去下载新的,又不是经常用。

一、下载歌曲评论

1.代码实现

首先导入一下模块

模块是必须要导入的东西哦,没有导入的话,运行时即使你代码正确也是会报错的哦~

from selenium import webdriverimport re import time

Python文件名或者包名不要命名为selenium,会导致无法导入。

webdriver可以认为是浏览器的驱动器,要驱动浏览器必须用到webdriver,支持多种浏览器。

创建一个浏览器对象

driver = webdriver.Chrome()

请求页面

driver.get('https://music.163.com/#/song?id=569213220')driver.implicitly_wait(10)  # 隐式等待  浏览器渲染页面  智能化等待driver.maximize_window()  # 最大化浏览器
driver.switch_to.frame(0)
# document.documentElement.scrollTop  指定页面的高度# document.documentElement.scrollHeight  获取页面的高度# document.documentElement.scrollTop  指定页面的高度# document.documentElement.scrollHeight  获取页面的高度js = 'document.documentElement.scrollTop = document.documentElement.scrollHeight'driver.execute_script(js)

获取评论数据/保存/点击下一页

for click in range(10):    divs = driver.find_elements_by_css_selector('.itm')    for div in divs:        cnt = div.find_element_by_css_selector('.cnt.f-brk').text        cnt = cnt.replace('\n', ' ') # 替换换行符        cnt = re.findall(':(.*)', cnt)[0]                with open('contend.txt', mode='a', encoding='utf-8') as f:            f.write(cnt + '\n')    # 找到下一页标签点击    driver.find_element_by_css_selector('.znxt').click()    time.sleep(1)input('程序阻塞.')

最后退出浏览器

driver.quit()

2.爬取评论运行效果

Python selenium如何把歌词评论做成词云图

二、制作词云图

代码实现

绘制词云图/大小设置,词云图图案可以自己去挑选喜欢的哦

import jieba  # 中文分词库import wordcloud  # 词云图库import imageio  # 图像模块file = open('contend.txt', mode='r', encoding='utf-8')txt = file.read()# print(txt)txt_list = jieba.lcut(txt)print('分词结果',txt_list)string = ' '.join(txt_list)print('合并分词:', string)"""制作词云图"""# 读取图像img = imageio.imread('音乐.png')# 设置词云图wc = wordcloud.WordCloud(    width=1000, # 词云图的宽    height=700, # 图片的高    background_color= 'black', # 词云图背景颜色    font_path='msyh.ttc',  # 词云字体, 微软雅黑, 系统自带    scale=10, # 字体大小    # mask=img,    stopwords=set([line.strip() for line in open('cn_stopwords.txt', mode='r',                                                 encoding='utf-8').readlines()]))print('正在绘制词云图')wc.generate(string)wc.to_file('output2.png')print('词云图制作成功...')

效果展示

Python selenium如何把歌词评论做成词云图

python的五大特点是什么

python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2.面向对象,与其他主要的语言如C++和Java相比, Python以一种非常强大又简单的方式实现面向对象编程。3.可移植性,Python程序无需修改就可以在各种平台上运行。4.解释性,Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。5.开源,Python是 FLOSS(自由/开放源码软件)之一。

以上就是Python selenium如何把歌词评论做成词云图的全部内容了,更多与Python selenium如何把歌词评论做成词云图相关的内容可以搜索编程网之前的文章或者浏览下面的文章进行学习哈!相信小编会给大家增添更多知识,希望大家能够支持一下编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯