python爬取歌曲评论_python 爬取歌曲评论的简单示例

这篇文章主要为大家详细介绍了python 爬取歌曲评论的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣python 爬取歌曲评论的简单示例的小伙伴,下面一起跟随512笔记的小编罗X来看看吧。

一、抓数据

要想做成词云图表,首先得有数据才行。于是需要一点点的爬虫技巧。

基本思路为:抓包分析、加密信息处理、抓取热门评论信息

1.抓包分析

我们首先用浏览器打开网易云音乐的网页版,进入薛之谦《摩天大楼》歌曲页面,可以看到下面有评论。接着F12进入开发者控制台(审查元素)。

接下来就要做的是,找到歌曲评论对应的url,并分析验证其数据跟网页现实的数据是否吻合

整理思路,分析api并模拟发送请求,获取json解析就好了

2.加密信息处理

然后经过测试,直接把浏览器上这俩数据拿过来就可以。但是要想真正的解决这个加密处理,还需要有点加解密的只是存储

3.抓取热门评论信息

二、数据可视化

在获得相关评论数据后,我们将其做成图表与词云图,将让人看起来更直观。

接下来需要在自己电脑上安装需要相关的安装包: pyecharts(图表包)、matplotlib(绘图功能包)、 WordCloud(词云包)

pyecharts:https://github.com/pyecharts/pyecharts(下载源码解压到python目录cmd进入pyecharts目录输入命令python setup.py install)

WordCloud官网:https://amueller.github.io/word_cloud/index.html

WordCloud下载地址:https://github.com/amueller/word_cloud

其中,pyecharts 是一个用于生成 Echarts 图表的类库。 Echarts 是百度开源的一个数据可视化 JS 库,主要用于数据可视化,同时pyecharts 兼容 Python2 和 Python3

# 512笔记网 (www.512pic.com)

import requests

import json

from pyecharts import Bar

from wordcloud import WordCloud

import matplotlib.pyplot as plt

url = 'http://music.163.com/weapi/v1/resource/comments/R_SO_4_551816010?csrf_token=568cec564ccadb5f1b29311ece2288f1'

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36',

'Referer':'http://music.163.com/#/album?id=38388012',

'Origin':'http://music.163.com',

'Host':'music.163.com'

}

#加密数据,直接拿过来用

user_data = {

'params': 'vRlMDmFsdQgApSPW3Fuh93jGTi/ZN2hZ2MhdqMB503TZaIWYWujKWM4hAJnKoPdV7vMXi5GZX6iOa1aljfQwxnKsNT+5/uJKuxosmdhdBQxvX/uwXSOVdT+0RFcnSPtv',

'encSecKey': '46fddcef9ca665289ff5a8888aa2d3b0490e94ccffe48332eca2d2a775ee932624afea7e95f321d8565fd9101a8fbc5a9cadbe07daa61a27d18e4eb214ff83ad301255722b154f3c1dd1364570c60e3f003e15515de7c6ede0ca6ca255e8e39788c2f72877f64bc68d29fac51d33103c181cad6b0a297fe13cd55aa67333e3e5'

}

response = requests.post(url,headers=headers,data=user_data)

data = json.loads(response.text)

hotcomments = []

for hotcommment in data['hotComments']:

item = {

'nickname':hotcommment['user']['nickname'],

'content':hotcommment['content'],

'likedCount':hotcommment['likedCount']

}

hotcomments.append(item)

#获取评论用户名,内容,以及对应的获赞数

content_list = [content['content'] for content in hotcomments]

nickname = [content['nickname'] for content in hotcomments]

liked_count = [content['likedCount'] for content in hotcomments]

bar = Bar("热评点赞示例图")

bar.add( "点赞数",nickname, liked_count, is_stack=True,mark_line=["min", "max"],mark_point=["average"])

bar.render()

content_text = " ".join(content_list)

wordcloud = WordCloud(font_path=r"C:\simhei.ttf",max_words=200).generate(content_text)

plt.figure()

plt.imshow(wordcloud,interpolation='bilinear')

plt.axis('off')

plt.show()

# End 5.1.2笔记-www.512pic.com

注:关于python 爬取歌曲评论的简单示例的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。

关键词:爬取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言100位整数乘法,很大的数相乘怎么办?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include&nbsp #include&nbsp using&nbsp namespace&nbsp std;int&nbsp main(int&nbsp argc,&nbsp char&nbsp *argv[]){&nbsp &nbsp&nbsp &nbsp long&nbsp i,j, c,l…

双亲委派机制_面试官:双亲委派机制的原理和作用是什么?

说到双亲委派机制,就必须要先要弄清楚Java的类加载器什么是类加载器Java类加载器(ClassLoader)是Java运行时环境(JRE)的一部分,负责动态的将Java类加载到Java虚拟机的内存空间。类加载器有哪些主要有三个:引导类加载器(Bootstrap ClassLoader…

c++语言程序的结构特点,C++的特点(特性)

本篇文章帮大家学习C的特点(特性),包含了C的特点(特性)使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。C是面向对象的编程语言。 它提供了许多功能,如下所示。简单(Simple)机器独立或可移植(Portabl…

python聊天程序程序代码_python聊天程序实例代码分享

代码简单,直接看代码吧:代码如下:import socketimport threadingimport re#import Tkinterdef ser():ssocket.socket(socket.AF_INET,socket.SOCK_STREAM)s.bind((,33333))s.listen(1)conn,addrs.accept()while True:print [%s:%d] send a message to me: %s%(addr[…

C语言 游戏远程call调用,关于远程注入游戏并调用 call 的问题

[C#] 纯文本查看 复制代码UInt32 Codecave _Magic.AllocateMemory();uint ptr 0;try{int param1 _Magic.ReadInt((uint)(_bnsMagic.ReadInt((uint)0xDC1420) 0x30));uint ptr1 _Magic.ReadUInt((uint)0xdc1420) 0x28;uint ptr2 _Magic.ReadUInt(ptr1) 0x1c;uint ptr3 …

python有大括号吗_只有我一个人觉得Python取消了大括号而显得结构更加混乱了吗?...

这就是 Python 的特色取消了大括号后,Python 比较适合编写文学程序,进行文学编程(Literate Programming)。这样的语言当初也有,比如 CobolIDENTIFICATION DIVISION.PROGRAM-ID. HELLO.ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTRO…

c语言单元测验,C语言程序设计单元测验一.PDF

C 语言程序设计单元测验一一、选择题 (每题2 分,共50 分)1、一个C 程序由若干个C 函数组成,各个函数在文件中的位置顺序为:( )A.任意 B.第一个函数必须是主函数,其他函数任意C.必须完全按照执行的顺序排列 D.其他函数可以任意&…

无广告的pdf阅读器_奥利给!免费无广告!功能超齐全!这样的良心国产软件,真的不多了!...

日常生活工作中,我们会碰到各种各样的PDF文档,它是一种全球通用的格式,由Adobe公司开发。PDF有通用性好、格式不会乱变、保真性高等优点。但同时,PDF也是让我们感到困惑最多的格式之一,因为与Word文档等其他常见办公软…

android自定义游戏闯关图,Android自定义View(四) -- Canvas

本文计划根据HenCoder系列文章进行学习,所以代码风格及博文素材可能会摘自其中。1 范围裁切范围裁切有两个方法: clipRect() 和 clipPath()。裁切方法之后的绘制代码,都会被限制在裁切范围内。1.1 clipRect()使用很简单,直接应用&…

python打印菱形星号代码_Python打印“菱形”星号代码

小计本人是一名python初学者,刚刚看到一道有趣的python问题,“用python如何在编译器中打印出菱形图案?”因此决定尝试一下,代码不多,仅供参考。代码def printStar(intNum): # 打印星号s "*"spaceLength in…

android tag的使用方法,Android:如何使用Html.TagHandler?

所以,我终于想出了自己。public class MyHtmlTagHandler implements TagHandler {public void handleTag(boolean opening, String tag, Editable output,XMLReader xmlReader) {if(tag.equalsIgnoreCase("strike") || tag.equals("s")) {proce…

oracle打开scott用户_Oracle 11gR2中启动Scott用户的方法(推荐)

Oracle 中启动 Scott 用户 的方法 , 在 Oracle11gR2, (g 代表‘网络的意思) 数据库中 Scott 这个用户 安装时是被锁定的,安装 Oracle的时候 ,你可以直接选择 给该用户 解锁,如果忘记了解锁, 后期可以使用 s…

android 文件公有存储,如何将文件写入Android中的外部公共存储,以便从Windows中看到它们?...

如何将文件写入Android中的外部公共存储,以便从Windows中看到它们?我的应用程序应该将文件保存到一个地方,当您将手机/平板电脑连接到计算机时,您可以通过系统文件资源管理器看到它们。这就是我实现文件写入的方式:pro…

iPhone记步和Android计步,手机中运动步数是如何计算的?

微信运动每天都记录着你走路的步数,他会形成榜单,走的多收到很多赞,走的少则无人关注,如果你走到第一,你的照片将霸占排行榜封面。所以一段时间,每个人为了霸占封面疯狂走路、刷步,然而有时我们…

智能机器人建房子后房价走势_明后年日照房价走势如何?究竟是“上涨”还是下降...

想要在偌大的城市中拥有一个属于自己的家,那就必须要先有自己的一套房子,因为房子和自己以后的幸福生活密切相关。但是面对着如今格外高昂的房价,让很多人对房子产生了一种遥不可及的感觉。那么明后年日照房价走势如何呢?究竟是会…

android静默卸载,Android实践 -- Android静默安装和卸载

App的静默安装和卸载Android系统本身提供了安装卸载功能,但是api接口是hide的,不是公开的接口,所以在应用级别是无法实现静默安装和卸载的,要实现静默安装和卸载需要是系统应用,要有系统签名和相应的权限简单思路如下&…

outlook邮箱邮件大小限制_Office Outlook 2010、2013附件大小超过了允许的范围限制三种解决方法图解...

在outlook2010、2013中添加附件超过20M,就会提示:“附件大小超出了允许的范围”!outlook2007的附件默认大小是150M,而outlook2010、2013的是20M(有种说法是10M,也许是版本问题,未验证),也许微软…

dota迷你盒子Android5,DOTA:第一批TI7的迷你Aegis复制品已经到货

原标题:DOTA:第一批TI7的迷你Aegis复制品已经到货各地华丽的工艺。节日期间,一些Dota 2粉丝的完美礼物被封顶,他们本周开始收到令人垂涎的“宙斯盾”(Aegis of Champions)的缩影复制品。今年5月4日至10月1日举行的国际7战斗通行证…

oracle unpivot 索引_oracle 11g 行列转换之unpivot、pivot

一、 列 转 行create table STU_ROW2COL(id VARCHAR2(10),intname VARCHAR2(10),subject VARCHAR2(20),grade NUMBER)insert into stu_row2col (ID, INTNAME, SUBJECT, GRADE) values (1, ZORRO, 语文, 70);insert into stu_row2col (ID, INTNAME, SUBJECT, GR…

鸿蒙系统下拉菜单,鸿蒙的js开发部模式17:鸿蒙的系统能力的应用模块

1. 鸿蒙的系统能力主要涉及通知消息模块,在模拟器中也可以实践和获取初始界面:点击发送通知,顶部出现通知消息的图标下拉通知菜单栏,出现通知信息:js的业务逻辑代码:import notification from system.notification;no…