V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
explist
V2EX  ›  Python

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

  •  
  •   explist · 2016-04-28 23:46:08 +08:00 · 4407 次点击
    这是一个创建于 3158 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    这是 AJAX 吗,应如何爬取?

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

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

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

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

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

    口下留情呀,谢谢。 :)
    Arrowing
        6
    Arrowing  
       2016-04-29 09:56:19 +08:00
    语句不通顺,改下:
    我看了网易前端的 http 请求代码是根据前端加密了,一般是一些表情的文字,如'大笑','开心'等几个组合作为 salt 加密
    explist
        7
    explist  
    OP
       2016-04-29 12:08:42 +08:00
    通过播放一首歌查了下其下载地址:与打开时间相关,链接中有 MD5 值
    soulgeek
        8
    soulgeek  
       2016-04-29 15:08:02 +08:00
    you-get 不知道现在还能不能抓网易家的了 https://you-get.org/
    Allianzcortex
        9
    Allianzcortex  
       2016-04-29 15:51:19 +08:00
    用 API 拿到 json 数据然后解析
    Allianzcortex
        10
    Allianzcortex  
       2016-04-29 15:52:06 +08:00
    还有,题目如果改成“如何用 py 爬网易云音乐”的话应该能吸引更多的人~
    explist
        11
    explist  
    OP
       2016-04-29 17:52:36 +08:00
    怕引来网易的关注,嘿嘿
    explist
        12
    explist  
    OP
       2016-04-29 17:54:55 +08:00
    @Arrowing 不是 PY 写的看不懂啊
    mgna17
        13
    mgna17  
       2016-04-29 18:14:32 +08:00
    pyuserinput + 录音 (逃
    Hxai11
        14
    Hxai11  
       2016-05-09 10:42:56 +08:00
    表示只爬过网易的专辑图片,爬了 18g 的图片,我觉得我好无聊哈哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1232 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:11 · PVG 02:11 · LAX 10:11 · JFK 13:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.