Python控制浏览器自动下载歌词评论并生成词云图

目录
  • 一、前言
  • 二、准备工作
    • 1.需要用的模块
    • 2.驱动安装
  • 三、下载歌词
  • 四、词云图

一、前言

一首歌热门了,参与评论的人也很多,那我们有时候想看看评论,也只能看看热门的评论,大部分人都说的什么,咱也不知道呀~

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

二、准备工作

1.需要用的模块

本次用到的模块和包:

re  # 正则表达式 内置模块

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

jieba  # 中文分词库

wordcloud  # 词云图库

imageio  # 图像模块

time  # 内置模块

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

以 selenium 为例,直接pip install selenium

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

2.驱动安装

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

网址我就不发了,网上直接搜谷歌浏览器驱动就可以找到,实在找不到的话在左侧扫一下,文章看不懂也有视频在左侧扫码。

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

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

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

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

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

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

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

三、下载歌词

先把要用的模块给导入一下

from selenium import webdriver
import 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)

下拉页面 js 是一门可以直接运行在浏览器中的语言

# 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()

来看看效果

四、词云图

绘制词云图/大小设置

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控制浏览器自动下载歌词评论并生成词云图的文章就介绍到这了,更多相关Python自动下载歌词评论内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python pyecharts绘制词云图代码

    目录 一.pyecharts绘制词云图WordCloud.add()方法简介 二.绘制词云图对应轮廓按diamond显示 三.对应完整代码如下所示 一.pyecharts绘制词云图WordCloud.add()方法简介 WordCloud.add()方法简介: add(name,attr,value, shape="circle", word_gap=20, word_size_range=None, rotate_step=45) name str 图例名称 attr list 属性

  • python爬取热搜制作词云

    环境:win10,64位,mysql5.7数据库,python3.9.7,ancod 逻辑流程: 1.首先爬取百度热搜,至少间隔1小时 2.存入文件,避免重复请求,如果本1小时有了不再请求 3.存入数据库,供词云包使用 1.爬取热搜,首先拿到url,使用的包urllib,有教程说urllib2是python2的. '''读取页面''' def readhtml(self,catchUrl): catchUrl=self.catchUrl if not catchUrl else catchUrl

  • python爬取豆瓣评论制作词云代码

    目录 一.爬取豆瓣热评 二.制作词云 总结 一.爬取豆瓣热评 该程序进行爬取豆瓣热评,将爬取的评论(json文件)保存到与该python文件同一级目录下注意需要下载这几个库:requests.lxml.json.time import requests from lxml import etree import json import time class Spider(object): def __init__(self): #seif.ure='https://movie.douban.co

  • 只用Python就可以制作的简单词云

    一.准备 词云制作所必需的三个包: 安装:pip install matplotlib 安装:pip install jieba 安装:pip install wordcloud (可能还需要其他包:pip install numpy等等,可以自行添加) 二.英文词云 test.txt文本内容: python python3 is good well bestbast shell cool Age has reached the end of the beginning of a word. M

  • Python实现爬取某站视频弹幕并绘制词云图

    目录 前言 爬取弹幕 爬虫基本思路流程 导入模块 代码 制作词云图 导入模块 读取弹幕数据 前言 [课 题]: Python爬取某站视频弹幕或者腾讯视频弹幕,绘制词云图 [知识点]: 1. 爬虫基本流程 2. 正则 3. requests >>> pip install requests 4. jieba >>> pip install jieba 5. imageio >>> pip install imageio 6. wordcloud  >

  • Python控制浏览器自动下载歌词评论并生成词云图

    目录 一.前言 二.准备工作 1.需要用的模块 2.驱动安装 三.下载歌词 四.词云图 一.前言 一首歌热门了,参与评论的人也很多,那我们有时候想看看评论,也只能看看热门的评论,大部分人都说的什么,咱也不知道呀~ 那本次咱们就把歌词给自动下载保存到电脑上,做成词云图给它分析分析… 二.准备工作 1.需要用的模块 本次用到的模块和包: re  # 正则表达式 内置模块 selenium  # 实现浏览器自动操作的 jieba  # 中文分词库 wordcloud  # 词云图库 imageio  

  • 基于Python实现视频自动下载软件

    目录 序言 效果展示 下载视频 下载弹幕 下载评论 软件生成 打包 序言 哈喽兄弟们,今天来实现一个Python采集视频.弹幕.评论与一体的小软件. 平常咱们都是直接代码运行,不过今天我们做成软件,这样的话,咱们不仅能自己用,还能分享给小伙伴,女朋友一起使用. 内容有点多,拿好小本本,做好笔记,发车了~ 效果展示 我们先来看看效果 整体界面 我随便找个视频下载一下 弹幕和评论我都顺便下载了 有一说一,确实方便,就是下载视频太大的话,会卡一下. 不过我这里视频没有做去水印,所以下载下来还是有水印的

  • Python实现邮件自动下载的示例详解

    开始码代码之前,我们先来了解一下三种邮件服务协议: 1.SMTP协议 SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议.相当于中转站,将邮件发送到客户端. 2.POP3协议 POP3(Post Office Protocol 3),即邮局协议的第3个版本,是电子邮件的第一个离线协议标准.该协议把邮件下载到本地计算机,不与服务器同步,缺点是更易丢失邮件或多次下载相同的邮件. 3.IMAP协议 IMAP(Internet Mail Access Protoc

  • 用Python爬取QQ音乐评论并制成词云图的实例

    环境:Ubuntu16.4 python版本:3.6.4 库:wordcloud 这次我们要讲的是爬取QQ音乐的评论并制成云词图,我们这里拿周杰伦的等你下课来举例. 第一步:获取评论 我们先打开QQ音乐,搜索周杰伦的<等你下课>,直接拉到底部,发现有5000多页的评论. 这时候我们要研究的就是怎样获取每页的评论,这时候我们可以先按下F12,选择NetWork,我们可以先点击小红点清空数据,然后再点击一次,开始监控,然后点击下一页,看每次获取评论的时候访问获取的是哪几条数据.最后我们就能看到下图

  • Python实现Wordcloud生成词云图的示例

    wordcloud是Python扩展库中一种将词语用图片表达出来的一种形式,通过词云生成的图片,我们可以更加直观的看出某篇文章的故事梗概. 首先贴出一张词云图(以哈利波特小说为例): 在生成词云图之前,首先要做一些准备工作 1.安装结巴分词库 pip install jieba Python中的分词模块有很多,他们的功能也都是大同小异,我们安装的结巴分词 是当前使用的最多的类型. 下面我来简单介绍一下结巴分词的用法 结巴分词的分词模式分为三种: (1)全模式:把句子中所有的可以成词的词语都扫描出

  • Python爬取哆啦A梦-伴我同行2豆瓣影评并生成词云图

    一.前言 通过这篇文章,你将会收货: ① 豆瓣电影数据的爬取: ② 手把手教你学会词云图的绘制: 二.豆瓣爬虫步骤 当然,豆瓣上面有很多其他的数据,值得我们爬取后做分析.但是本文我们仅仅爬取评论信息. 待爬取网址: https://movie.douban.com/subject/34913671/comments?status=P 由于只有一个字段,我们直接使用re正则表达式,解决该问题. 那些爬虫小白看过来,这又是一个你们练手的好机会. 下面直接为大家讲述爬虫步骤: # 1. 导入相关库,用

  • python 爬取豆瓣电影短评并利用wordcloud生成词云图

    目录 前言 第一步.准备数据 第二步.编写爬虫代码 第三步.生成词云图 前言 最近学到数据可视化到了词云图,正好学到爬虫,各种爬网站[实验名称] 爬取豆瓣电影<千与千寻>的评论并生成词云 利用爬虫获得电影评论的文本数据 处理文本数据生成词云图 第一步.准备数据 需要登录豆瓣网站才能够获得短评文本数据movie.douban.com/subject/129… 首先获取cookies,使用爬虫强大的firefox浏览器 将cookies数据复制到cookies.txt文件当中备用, 第二步.编写爬

  • python根据文本生成词云图代码实例

    这篇文章主要介绍了python根据文本生成词云图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 效果 代码 from wordcloud import WordCloud import codecs import jieba #import jieba.analyse as analyse from scipy.misc import imread import os from os import path import matplot

  • Python爬取英雄联盟MSI直播间弹幕并生成词云图

    一.环境准备 安装相关第三方库 pip install jieba pip install wordcloud 二.数据准备 爬取对象:2021年5月23号,RNG夺冠直播间的弹幕信息 爬取对象路径: 方式1.根据开发者工具(F12),获取请求url.请求头.cookie等信息: 方式2:根据直播地址url,前+字符i 我们这里演示的是,采用方式2. 三.代码如下 import requests, re import jieba, wordcloud """ # 以下是练习代

  • 利用Python爬取微博数据生成词云图片实例代码

    前言 在很早之前写过一篇怎么利用微博数据制作词云图片出来,之前的写得不完整,而且只能使用自己的数据,现在重新整理了一下,任何的微博数据都可以制作出来,一年一度的虐汪节,是继续蹲在角落默默吃狗粮还是主动出击告别单身汪加入散狗粮的行列就看你啦,七夕送什么才有心意,程序猿可以试试用一种特别的方式来表达你对女神的心意.有一个创意是把她过往发的微博整理后用词云展示出来.本文教你怎么用Python快速创建出有心意词云,即使是Python小白也能分分钟做出来.下面话不多说了,来一起看看详细的介绍吧. 准备工作

随机推荐