import requests
from lxml import etree
# xpath
def get_baidu_music():
url = "http://music.taihe.com/top/dayhot"
response = requests.get(url)
html = response.content.decode("utf-8")
result = etree.HTML(html)
songlist = result.xpath('//div[@class="top-list-item"]//ul')
res = []
for i in range(len(songlist)):
href = songlist[i].xpath('li/div/span[@class="song-title "]/a[position()=1]/@href')
name = songlist[i].xpath('li/div/span[@class="song-title "]/a/text()')
singer = songlist[i].xpath('li/div//span[@class="author_list"]/@title')
urls = []
for url in href:
url = "http://music.taihe.com"+ url
urls.append(url)
res.append(zip(name,singer,urls))
return res
def save(res):
with open("baidu_music.txt","w",encoding="utf-8") as f:
for zip_music in res:
for music in zip_music:
f.write(str(music)+"\n")
res = get_baidu_music()
save(res)