如何用 py 爬取此音乐网站?

2016-04-28 23:46:08 +08:00
 explist

网站: http://music.163.com/#/search/m/?s=%E6%B1%AA%E5%B3%B0

特别说明:只是学习研究,不作它途

想用 PY3 自带的库获取此网站的曲目列表及下载链接

特点: 翻页时网址未改变;上面的(搜索)网址其源码内容上不能反映出搜索结果(即歌曲列表);

这是 AJAX 吗,应如何爬取?

4249 次点击
所在节点    Python
14 条回复
freejishu
2016-04-29 00:02:50 +08:00
网易家的早做加密了。 ajax 一点也不假,但是你需要破译那些密文。据说解密 js 是动态生成的
Hello1995
2016-04-29 00:25:41 +08:00
趁这个阶段旧的 API (抓包或者 Google 可得) 还可以用,你想尝试就试试吧。新的 API 已经加密了。
Tink
2016-04-29 00:34:57 +08:00
github 上有开源了的 api
geek123
2016-04-29 08:51:51 +08:00
我们这儿有个 python 爬虫的教程,你看看是否能帮上忙。

http://www.hubwiz.com/course/570dce425fd193d76fcc723d/?ch=v2ex
Arrowing
2016-04-29 09:53:33 +08:00
呃,我不久前用 phantomjs 做了一个简单的,代码还乱糟糟的,不过原理是一样的

我看了网易前端的代码是根据前端加密了,估计可以后端配置的,这个不好处理,可能需要经常改动源代码

所以用 phantomjs 模拟用户进入页面把歌曲爬下来。。。

代码详情见:
https://github.com/arrowing/ColorPlayer

口下留情呀,谢谢。 :)
Arrowing
2016-04-29 09:56:19 +08:00
语句不通顺,改下:
我看了网易前端的 http 请求代码是根据前端加密了,一般是一些表情的文字,如'大笑','开心'等几个组合作为 salt 加密
explist
2016-04-29 12:08:42 +08:00
通过播放一首歌查了下其下载地址:与打开时间相关,链接中有 MD5 值
soulgeek
2016-04-29 15:08:02 +08:00
you-get 不知道现在还能不能抓网易家的了 https://you-get.org/
Allianzcortex
2016-04-29 15:51:19 +08:00
用 API 拿到 json 数据然后解析
Allianzcortex
2016-04-29 15:52:06 +08:00
还有,题目如果改成“如何用 py 爬网易云音乐”的话应该能吸引更多的人~
explist
2016-04-29 17:52:36 +08:00
怕引来网易的关注,嘿嘿
explist
2016-04-29 17:54:55 +08:00
@Arrowing 不是 PY 写的看不懂啊
mgna17
2016-04-29 18:14:32 +08:00
pyuserinput + 录音 (逃
Hxai11
2016-05-09 10:42:56 +08:00
表示只爬过网易的专辑图片,爬了 18g 的图片,我觉得我好无聊哈哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/275215

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX