网易云音乐评论抓取及生成词云
在csdn首页上偶然看到了这个话题,然而那篇文章并没有分词,而且只有首页的评论,找了相关的资料,都不能直接运行。
# -*- coding: utf-8 -*-
"""
Created on Tue May 2 09:34:33 2017
http://blog.csdn.net/marksinoberg/article/details/70809830 参考链接
http://blog.csdn.net/u013473520/article/details/51764334 生成词云
https://www.zhihu.com/question/36081767 抓取多行
@author: chuc
python3.5
"""
import requests
import json
from Crypto.Cipher import AES
import base64
headers = {'Cookie': 'appver=1.5.0.75771;','Referer': 'http://music.163.com/'
}
second_param = "010001"
third_param = "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7"
forth_param = "0CoJUm6Qyw8W8jud"
url = "http://music.163.com/weapi/v1/resource/comments/R_SO_4_30953009/?csrf_token=" #要抓取不同的音乐,在这里更换30953009def get_params(first_param):iv = "0102030405060708"first_key = forth_paramsecond_key = 16 * 'F'h_encText = AES_encrypt(first_param, first_key, iv)h_encText = AES_encrypt(h_encText, second_key, iv)return h_encTextdef get_encSecKey():encSecKey = "257348aecb5e556c066de214e531faadd1c55d814f9be95fd06d6bff9f4c7a41f831f6394d5a3fd2e3881736d94a02ca919d952872e7d0a50ebfa1769a7a62d512f5f1ca21aec60bc3819a9c3ffca5eca9a0dba6d6f7249b06f5965ecfff3695b54e1c28f3f624750ed39e7de08fc8493242e26dbc4484a01c76f739e135637c"return encSecKeydef AES_encrypt(text, key, iv):pad = 16 - len(text) % 16text = text + pad * chr(pad)encryptor = AES.new(key, AES.MODE_CBC, iv)encrypt_text = encryptor.encrypt(text)encrypt_text = base64.b64encode(encrypt_text)encrypt_text = str(encrypt_text, encoding = "utf-8")return encrypt_textdef get_json(url, params, encSecKey):data = {"params": params,"encSecKey": encSecKey}response = requests.post(url, headers=headers, data=data)return response.contentfor i in range(1000): #抓取1000页f = i*20first_param = '{rid:\"\", offset: \"' + str(f) + '\", total:\"true\", limit:\"20\", csrf_token:\"\"} 'params = get_params(first_param);encSecKey = get_encSecKey();json_text = get_json(url, params, encSecKey)json_text = str(json_text, encoding = "utf-8")json_dict = json.loads(json_text)for item in json_dict['comments']:with open('wordcomment.txt','a',encoding='utf-8') as fi:fi.writelines(item['content']+'\n')
import jieba #分词
f = open('wordcomment.txt','r',encoding = "utf-8").read()
s = {}
f = jieba.cut(f)
for w in f:if len(w) > 1:previous_count = s.get(w,0)s[w] = previous_count+1
from wordcloud import WordCloud
wordcloud = WordCloud(font_path = 'C:/Users/Windows/fonts/simkai.ttf').fit_words(s)import matplotlib.pyplot as plt #画图
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
网易云音乐评论抓取及生成词云相关推荐
- java爬取网易云歌单_[原创]基于Java网易云音乐评论抓取~【悠着点玩啊~】
本帖最后由 wushaominkk 于 2018-3-20 10:40 编辑 一般我们爬虫都是采用Python,自己闲的无聊就有Java编写一个简单的网易云音乐评论的抓取,这个仅仅是我开发的一个小小调 ...
- NetCloud——一个网易云音乐评论抓取和分析的Python库
在17的四月份,我曾经写了一篇关于网易云音乐爬虫的文章,还写了一篇关于评论数据可视化的文章.在这大半年的时间里,有时会有一些朋友给我发私信询问一些关于代码方面的问题.所以我最近抽空干脆将原来的代码整理 ...
- python爬取网易云音乐薛之谦歌词数据,生成词云
老薛最近频频上热搜,因为老薛的歌大部分是自己作词,所以感觉他的歌词和他应该有某种情感表达和联系吧. 于是用python爬了网易云音乐中老薛的歌词数据,并简单用wordcloud写了个词云统计. 难过, ...
- python爬取网易云音乐_Python 从零开始爬虫(七)——实战:网易云音乐评论爬取(附加密算法)...
前言 某宝评论区已经成功爬取了,jd的也是差不多的方法,说实话也没什么好玩的,我是看上它们分析简单,又没加密才拿来试手的.如果真的要看些有趣的评论的话,我会选择网易云音乐,里面汇聚了哲学家,小说家,s ...
- php 爬取一个人的网易云评论,网易云音乐评论爬取
# coding=gbk import requests import json c='网易云爬虫实战一' print(c) music_url = 'https://music.163.com/#/ ...
- 网易云音乐评论爬取。
欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 对商业智能BI.大数据分析挖掘.机器学习,python,R等数据领域感兴趣的同学 ...
- python网络爬虫网易云音乐_一篇文章带你用Python网络爬虫实现网易云音乐歌词抓取...
标签下,如下图所示: 接下来我们利用美丽的汤来获取目标信息,直接上代码,如下图: 此处要注意获取ID的时候需要对link进行切片处理,得到的数字便是歌曲的ID:另外,歌曲名是通过get_text()方 ...
- 网易云音乐评论爬取、情感分析一体化
开局一张图 网易云诞生了很多励志鸡汤,那么多的伤感流行句式,那么多微甜情话,今天我们就看他个天翻地覆,话不多说直接上个干货. 导入包.相关库 import requests import math i ...
- python 网易云音乐评论爬取3
参考链接: 解析网易云音乐的加密方式 https://www.jianshu.com/p/069e88181488 找到参数的加密方法 首先我们先看评论的加载方式,打开一首音乐的主页,然后打开开发工具 ...
最新文章
- request.getSession()
- ICML2018见闻 | 迁移学习、多任务学习领域的进展
- nginx转发请求_Nginx为什么高效?一文搞明白Nginx核心原理
- 今天下午2:00,RT-Thread与智能车竞赛概况
- MyEclipse部署Tomcat服务器时总是跳到Debug模式
- python3数据类型:Number(数字)
- pyppeteer有java版本吗_Pyppeteer中文文档_序言_安装_基本使用及注意事项
- 为什么matlab显示error,【求救】我安装了资源 MATLAB R2012b 后,显示有error……
- 知识图谱最新权威综述论文解读:知识图谱补全部分
- 好玩的表情包机器人小程序源码_支持直接搜索仿聊天界面获取源码
- centos怎么查看用户和用户组
- 跳槽了,但是面试官问的总答不到点上……
- 有赞vant_vue+有赞vant的商品规格sku记录-小程序
- 有趣的JavaScript数组
- jieba 同义词_jieba分词详解
- Hibernate 二级缓存的作用
- VMware中安装win7虚拟机后共享问题的解决
- Linux驱动 | DS18B20驱动编程
- mac被锁有pin码的解锁方法
- 微信小程序 - 引入第三方字体(使用网络字体艺术字)
热门文章
- 队列,先进先出,后进后出!
- 最任性热酷拿到最重磅IP,《找你妹2015》获央视春晚吉祥物阳阳版权
- Doxygen + Graphviz windows+Windows Help Workshop下安装配置(图解)
- 1t硬盘怎么分区最好_1t硬盘怎么分区合理相关阅读-1t硬盘怎么分区合理文章阅读-123文学网...
- 阅读笔记《Class Incremental Learning With Few-Shots Based on Linear Programming for Hyperspectral Image 》
- 详细:Source Insight 4.0 延长试用期方法,图文教程
- 计算机windons无法启动,电脑开机出现windows未能启动的解决方法
- python怎么制作条形图模板,Python-使用XlsxWriter模块在Excel工作表中绘制条形图
- linux用户切换pts,Linux下的tty,pts,pty…和多窗口切换 | 云上小悟
- 矿大计算机学院周裕浩,计算机学院学子在第45届ACM-ICPC亚洲区决赛获佳绩