Python爬取网易云音乐排行榜数据

这里使用Pycharm作为开发工具,代码很简单,一共就三个类,目前还没有优化,之后再考虑,网络请求用的是requests,xml标签提取用的是BeautifulSoup,数据库用的是mysql,这里用py_mysql连接数据库。
这里以 <’https://music.163.com/#/discover/toplist?id=19723756'> 为例,下载完页面之后可以看下标签结构,可以看到id为song-list-pre-cache的div下面有个textarea标签下面就是歌曲信息的json信息,我们可以从里面拿到id和名称,专辑的id和专辑名称也可以拿到。有了歌曲id之后,根据网上所找到的拼接规则 ‘http://music.163.com/song/media/outer/url?id= ‘ + str(id) + ‘.mp3’ ,就可以拿到歌曲的下载链接,接下来就可以从获取的json数据里面拿到所有歌曲的信息保存到数据库里面即可。这里不做其他操作只保存在数据库里面,这个项目的主要作用是给后面生成排行榜api提供数据支持。后续考虑优化,定期(一天,一周)爬取新的内容