1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > python爬网易云_如何用爬虫获取网易云音乐歌单中的歌曲?

python爬网易云_如何用爬虫获取网易云音乐歌单中的歌曲?

时间:2022-05-30 19:18:39

相关推荐

python爬网易云_如何用爬虫获取网易云音乐歌单中的歌曲?

—————————————————————————————————

泻药,以我抓取了307835首网易云音乐的歌单歌曲的经验,讲一下这个问题。

喜欢用Github的可以直接看我的项目源码,代码简单、具体使用方法和数据库细节介绍的很全面:Chengyumeng/spider163

我使用的技术栈是Python + MySQL,数据库相关的配置可在spider163.conf中配置。

我使用的策略是,通过热门歌单列表抓取全部歌单名字,热门歌单URL为:网易云音乐

抓下这些热门URL,持久化到数据库中,然后继续通过存储的歌单URL,继续抓取歌单里面的歌曲URL,歌曲的URL格式为:网易云音乐

然后下一步,就是针对网易云音乐的歌曲页面做信息采集,你可以抓的数据有歌曲的词曲作者、歌词、评论等信息,我抓取的数据为歌曲热评和评论总数。

基于此,可以建立这样的抓取模型:歌单列表 -> 歌单 -> 歌曲

------------------------分割线是这么画吗?-----------------------------

相关操作:

抓取热门歌单

$ python playlist.py 1 10

$ # 抓取热门歌单前十页的歌单名字和链接

$ python playlist.py 粤语 1 42

$ # 抓取全部粤语歌单

抓取歌单内歌曲

$ python music.py playlist 376259016

$ # 抓取编号为 376259016 的歌单

$ python music.py database

$ # 抓取存储的热门歌单里面的歌曲,批量抓取

抓取歌曲评论

$ python comment.py

$ # 自动抓取已存储歌曲,并保持去重复

TODO增加抓取歌单页面个性推荐歌单

增加抓取排行榜

严格去重复 ✔️

优化代码结构,冗余代码过多

BUG若干歌单无法抓取,待重现定位

...

虽然我没有使用分布式,但是单线程的效率已经相当不错,这是MySQL的读写图:

基本上可以保证平均一小时1万首音乐的抓取。

我的抓取数据:8600张热门歌单

307835首歌曲

1410482条评论

欢迎大家使用我的代码,并进一步做数据挖掘。

您可以关注我的技术分享微信公众号:程天写代码。交流Python、Go、高可用、云计算等方面学习心得。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。