网易云音乐评论抓取(js逆向)

本文通过分析网易云音乐的js加密,通过构造相关的参数,获取网易云音乐评论。


所用语言和相关模块

  • python3.6
  • requests`

网站特点分析

通过分析网站可知:
评论获取的url:https://music.163.com/weapi/comment/resource/comments/get?csrf_token=
评论获取的方法:post
评论获取的参数:params、encSecKey
且参数为加密参数

实现过程

由上面的分析过程可以得知,实现过程分为3部分完成:
1)找出各参数的js代码
ctrl+shift+f掉出全局搜索,输入参数“encSecKey”,找出各参数形成的位置

2)分析各参数的加密逻辑
在相关的参数加密获得处打上断点,
由图可知,两个参数的值是由一个函数获取得到,其主要的参数为d,e,f,g
d:通过分析参数的格式可知,rid、threadId为歌曲id,pageNo评论页数, pageSize为页的条数,cursor为该页获取的评论的最小发布时间戳,orderType为排序规则
e为固定值010001
f为固定值00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7
g为固定值0CoJUm6Qyw8W8jud
在函数中,有个比较重要的参数i,其为随机的16位字符串,每次请求可取固定的值,取其值为3XDOKTz8borjR3H3
encSecKey的值的加密代码为h.encSecKey = c(i, e, f),由于i、e、f可为固定的值,故encSecKey取值为i=3XDOKTz8borjR3H3的加密得到1206a2796de825fceaa6d57bbfaf901ce9c13c9f7364fb721aa1260355020a9e7e753744223f165be7a1b4edda2dbac2edda6add418de29793c177c1578611e606f9a35e3d8cb44da198072531528dc551416a6242d9330d410b066f410f6c9fab866cc6b2cc73131f62669042086f3666e3336bc5a2e0acb38ddef443a615da
params的为aes二次加密得到
故此,只需实现aes加密,模拟获取相关的评论

3)python实现相关的加密代码
params参数获取:

def get_params():"""获取params参数的值:return:"""iv = "0102030405060708"i = '3XDOKTz8borjR3H3'# 获取密文encText = AES_encrypt(d, g, iv)encText = AES_encrypt(encText, i, iv)return encText

aes加密:

def AES_encrypt(text, key, iv):"""进行aes加密:param text:加密的明文:param key:密钥:param iv::return:"""pad = 16 - len(text) % 16text = text + pad * chr(pad)encryptor = AES.new(key.encode("utf-8"), AES.MODE_CBC, iv.encode("utf-8"))encrypt_text = encryptor.encrypt(text.encode("utf-8"))encrypt_text = base64.b64encode(encrypt_text)return encrypt_text.decode('utf8')

全部代码

github链接

网易云音乐评论抓取(js逆向)相关推荐

  1. java爬取网易云歌单_[原创]基于Java网易云音乐评论抓取~【悠着点玩啊~】

    本帖最后由 wushaominkk 于 2018-3-20 10:40 编辑 一般我们爬虫都是采用Python,自己闲的无聊就有Java编写一个简单的网易云音乐评论的抓取,这个仅仅是我开发的一个小小调 ...

  2. NetCloud——一个网易云音乐评论抓取和分析的Python库

    在17的四月份,我曾经写了一篇关于网易云音乐爬虫的文章,还写了一篇关于评论数据可视化的文章.在这大半年的时间里,有时会有一些朋友给我发私信询问一些关于代码方面的问题.所以我最近抽空干脆将原来的代码整理 ...

  3. 网易云音乐评论抓取及生成词云

    在csdn首页上偶然看到了这个话题,然而那篇文章并没有分词,而且只有首页的评论,找了相关的资料,都不能直接运行. # -*- coding: utf-8 -*- """ ...

  4. python爬取网易云音乐_Python 从零开始爬虫(七)——实战:网易云音乐评论爬取(附加密算法)...

    前言 某宝评论区已经成功爬取了,jd的也是差不多的方法,说实话也没什么好玩的,我是看上它们分析简单,又没加密才拿来试手的.如果真的要看些有趣的评论的话,我会选择网易云音乐,里面汇聚了哲学家,小说家,s ...

  5. php 爬取一个人的网易云评论,网易云音乐评论爬取

    # coding=gbk import requests import json c='网易云爬虫实战一' print(c) music_url = 'https://music.163.com/#/ ...

  6. 网易云音乐评论爬取。

    欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 对商业智能BI.大数据分析挖掘.机器学习,python,R等数据领域感兴趣的同学 ...

  7. 网易云音乐评论爬取、情感分析一体化

    开局一张图 网易云诞生了很多励志鸡汤,那么多的伤感流行句式,那么多微甜情话,今天我们就看他个天翻地覆,话不多说直接上个干货. 导入包.相关库 import requests import math i ...

  8. python网络爬虫网易云音乐_一篇文章带你用Python网络爬虫实现网易云音乐歌词抓取...

    标签下,如下图所示: 接下来我们利用美丽的汤来获取目标信息,直接上代码,如下图: 此处要注意获取ID的时候需要对link进行切片处理,得到的数字便是歌曲的ID:另外,歌曲名是通过get_text()方 ...

  9. python 网易云音乐评论爬取3

    参考链接: 解析网易云音乐的加密方式 https://www.jianshu.com/p/069e88181488 找到参数的加密方法 首先我们先看评论的加载方式,打开一首音乐的主页,然后打开开发工具 ...

  10. 网易云音乐评论爬虫 params encSecKey逆向分析!

    网易云评论接口加密破解仅用于研究和学习使用 首先通过抓包分析评论是通过js动态加载的 接口链接为:https://music.163.com/weapi/comment/resource/commen ...

最新文章

  1. 145. Binary Tree Postorder Traversal 二叉树的后序遍历
  2. 679. 24 Game 24 点游戏
  3. ios开发读取剪切板的内容_为你找到3款Mac平台好用的剪切板工具,你值得拥有!...
  4. 【C++】VS2010将写好的程序打包成安装文件发布
  5. 科普 | “开放知识”的定义
  6. ubuntu 20.04 快速开启TCP BBR实现高效单边加速
  7. “拼木头”算法挑战赛:禁忌搜索算法,用Javascript 跑
  8. SpringMVC中注解@RequestBody和@ResponseBody的使用区别
  9. OpenCV的基本数据结构
  10. SharePoint Framework 简介
  11. bboss session自定义session id生成机制介绍
  12. micropython入门指南-电子工业出版社-网上书店
  13. oracle 创建表同时添加注释
  14. 第02章 前馈神经网络
  15. Window API 第五篇 WTSEnumerateProcesses
  16. flex 两列多行布局
  17. java-IO流(2)-字节流和字符流的介绍
  18. 走近计算机,走进二进制,爪哇国的诞生
  19. ERP、MES、APS在生产排程上的区别?
  20. 招募,IT 技术界的伯乐和千里马

热门文章

  1. 榛子云——短信(工具)
  2. 好豆直播功能需求分析与优先级排序
  3. MYSQL学习心得6
  4. 保研推免经历经验分享——2018北大软微、北航计算机、南大计算机夏令营保研经历
  5. Matlab与微分方程解析解(dsolve)
  6. 原型工具摹客Mockplus快速入门一工具介绍
  7. 思科Cisco 交换机型号概述
  8. 计算机网络思科DNS配置,Cisco交换机 正确连接和初级配置
  9. 线段树:你能回答这些问题吗
  10. 计算机图形学裁剪算法应用,计算机图形学裁剪:关于梁友栋-Barsky算法(Liang-Barsky算法)...