美文网首页
2019-11-19 网易云音乐 获取所有歌曲

2019-11-19 网易云音乐 获取所有歌曲

作者: 一只失去梦想的程序猿 | 来源:发表于2019-11-19 21:10 被阅读0次

目标网址:https://music.163.com/
根据昨天抓取的所有歌手,获取他们的歌曲。
先获取下所有歌手id

with open('163.txt',encoding='utf-8') as file:
    data=file.readlines()
print(len(data))
image.png

每页50个歌曲 处理 并保存

for d in data:
    id=d.split('----')[0]
    name=d.split('----')[1].strip()

    url='https://music.163.com/artist?id=%s'%id
    print(url)
    headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}

    response=requests.get(url,headers=headers,verify=False)
    selector=html.fromstring(response.text)
    songEleList=selector.xpath('//ul[@class="f-hide"]/li')
    print(len(songEleList))
    for song in songEleList:
        detailUrl=song.xpath('a/@href')[0]
        songName=song.xpath('a/text()')[0]
        print(songName+detailUrl)
        f.write(name+'----'+songName+'----'+detailUrl+'\n')

唯一需要注意的是这里,接口获取的结果跟网页显示的是不一样的
网页显示的是a链接 而返回结果是ul/li


image.png
image.png

结果:

image.png
完整代码 https://github.com/Liangjianghao/everyDay_spider cloud_music

相关文章

网友评论

      本文标题:2019-11-19 网易云音乐 获取所有歌曲

      本文链接:https://www.haomeiwen.com/subject/sxmgictx.html