-
python爬虫之Python爬取《春风十里不如你》分析
本站最新发布 Python从入门到精通|Python基础教程
试听地址 https://www.xin3721.com/eschool/pythonxin3721/



试听地址 https://www.xin3721.com/eschool/pythonxin3721/
人的一生要经历太多的生离死别,那些突如其来的离别往往将人伤得措手不及。
人生何处不相逢,但有些转身,真的就是一生,从此后会无期,永不相见。
用力爱过的人,讲再见那一刻格外艰难。
世界上最遥远的距离不是生离死别,而是对方已经云淡风轻,你却念念不忘。
——网友评论
一直很喜欢这首歌。正好学习 Python ,想着把这首歌的热门评论爬下来,看看网友的故事。
网易云音乐是一个有情怀的地方。大多数想说却没有办法说出口的话都能留在评论里。
费话不说了,开工。
获取数据
打开网易云音乐,找到歌曲春分十里不如你,打开开发者工具,分析页面。

通过 搜索框 url 的 id 可以定位到评论的 url 。看到请求是 post 方法的,我们可以看到下边的两个参数。
params: 12PSl54ZzScPr+B27R+RJ14gF4YwwNz8YqWdldaCKao1s1/JexmIcnpaQu7oAkXM96vPBpEo42vFSp3BydeeYs6TKv/72oKRITbhg8hUP2vwsNW+hq8VfDvmjcq+ceScl9wEb3Wh6Whnu85Th7jHK4lNNKxNSJakjxuVnNcCDteI76F2xviD4jDcz9upF8CY
encSecKey: 227faa18d4ac5f4dfa07b4f0664bcb181240fcfb74192d7ce86b19ce302c61c8a5f2cbf45fc8874b5d74f0f6320f7681eef36e3f3a4d8349eed908188aae9717dd64f4d678e1d15afb8f06b559ebd51b2bca7b225f274378d89c068e18f7f8d45f7019e6923c2a0da30a4b68ecdfe2d6dcb954c3cfb0ec8812da693944617678
至于这两个参数怎么破解,小弟确实不会,不过有知乎大神已经破解过了,想要了解的可以移步知乎获取方法。
我们就直接拿到这两个参数去请求就好了。
# 获取评论数据
def get_data():
url = 'https://music.163.com/weapi/v1/resource/comments/R_SO_4_38576323?csrf_token='
headers = {'Host': 'music.163.com',
'Origin': 'https://music.163.com',
'Referer': 'https://music.163.com/song?id=38576323',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
}
data = {'params': '12PSl54ZzScPr+B27R+RJ14gF4YwwNz8YqWdldaCKao1s1/JexmIcnpaQu7oAkXM96vPBpEo42vFSp3BydeeYs6TKv/72oKRITbhg8hUP2vwsNW+hq8VfDvmjcq+ceScl9wEb3Wh6Whnu85Th7jHK4lNNKxNSJakjxuVnNcCDteI76F2xviD4jDcz9upF8CY',
'encSecKey': '227faa18d4ac5f4dfa07b4f0664bcb181240fcfb74192d7ce86b19ce302c61c8a5f2cbf45fc8874b5d74f0f6320f7681eef36e3f3a4d8349eed908188aae9717dd64f4d678e1d15afb8f06b559ebd51b2bca7b225f274378d89c068e18f7f8d45f7019e6923c2a0da30a4b68ecdfe2d6dcb954c3cfb0ec8812da693944617678'}
response = requests.post(url,headers=headers,data=data)
请求完发现数据是 json 格式的,那么获取就没有什么难度了。
html = json.loads(response.text)
result = []
for item in html['hotComments']:
content = {'user':item['user']['nickname'],
'likedCount':item['likedCount'],
'content':item['content']
}
result.append(content)
return result
可视化操作
获取数据之后,我们把数据做的直观一点,便于查看。

看一下点赞首位的评论:
听完这首歌,立刻定了下午五点的机票去北京找你。所以这次我用尽全力想对你说,你可不可以答应我,在我考上研究生到北京找你之前,你先不要结婚。不管我多么不喜欢北京,可是北京有你。没有你的杭州再美,也比不上有你的北京。
因为一个人爱上一座城。没有你的城市再好的风景也淡然无味。

结语
总有一天,会有一个人,看你写过的所有状态,读完写的所有微博,看你从小到大的所有照片,甚至去别的地方寻找关于你的信息,试着听你听的歌,走你走过的地方,看你喜欢看的书,品尝你总是大呼好吃的东西……只是想弥补上,他迟到的时光。
栏目列表
最新更新
如何使用OS模块中的stat方法
Python os 模块
seek() 方法
python打开文件实例1
Python写入文件
什么是流?
文件操作如何进制逐行读取
Python相对路径
with创建临时运行环境
Python文件操作
.Net Standard(.Net Core)实现获取配置信息
Linux PXE + Kickstart 自动装机
Shell 编程 基础
Shell 编程 条件语句
CentOS8-网卡配置及详解
Linux中LVM逻辑卷管理
1.数码相框-相框框架分析(1)
Ubuntu armhf 版本国内源
Linux中raid磁盘阵列
搭建简易网站
access教程之Access简介
mysql 安装了最新版本8.x版本后的报错:
Mysql空间数据&空间索引(spatial)
如何远程连接SQL Server数据库的图文教程
复制SqlServer数据库的方法
搜索sql语句
sql中返回参数的值
sql中生成查询的模糊匹配字符串
数据定义功能
数据操作功能