如何用 py 爬取此音乐网站? - V2EX
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 4749 次点击
    这是一个创建于 3457 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网站: 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  
    PRO
       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     Solana     5274 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 07:10 PVG 15:10 LAX 00:10 JFK 03:10
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86