今天爬取网易云音乐热歌榜单
一共200首
公众号回复 网易云榜单获取源代码

打开 网页版 网易云

打开开发者模式
全局搜索 赵雷,看看这些信息藏在哪个文件中

发现在这个文件中,歌手和歌曲都有
然后点击标头
查看请求url

请求url:
https://music.163.com/discover/toplist?id=3778678然后下面开始写代码
先访问
url = "https://music.163.com/discover/toplist?id=3778678"
ua = fake_useragent.UserAgent()
header = {
'user-agent':ua.random
}
response = requests.get(url=url,headers=header)
r = response.text获取源代码后
我们用re正则表达式来提取信息
歌名和歌曲后半部分地址都在li标签里

所以先把这一大段获取下来
用re正则表达式
# 包含歌曲和歌曲链接的一段字符串
all = ''.join(re.findall('<ul class="f-hide">(.*?)</ul>',r))然后再从 all 里面用re把歌名和歌曲后半部分url提取下来

# 从 all 里提取歌名
name = re.findall('<a href=".*?">(.*?)</a>',all)
# 从 all 里提取歌曲地址
song_url = re.findall('<a href="(.*?)">.*?</a>',all)然后开始找歌手的信息


发现歌手的信息在这里
所以直接从页面源码中用re来提取出来
# 从页面全部源代码中提取歌手的信息
singer = re.findall('"artists":\[{"id":.*?,"name":"(.*?)",',r)提取部分:

然后全部都打印出来
这里用for循环来获取下表进行打印

看效果

公众号回复 网易云榜单 获取源代码
代码仅供学习参考
感谢观看!










