1.作业一

  • 目标网站:https://www.kugou.com/yy/html/rank.html
  • 爬取要求:
    • 1、获取到榜单页面的源码
    • 2、用正则解析数据,获取到该页面所有歌曲的名字(包括歌手)和页面链接
    • 3、把数据保存到csv

from fake_useragent import UserAgent
import re,csv
import requests

url = ‘https://www.kugou.com/yy/html/rank.html
headers = {
‘User-Agent’ : UserAgent().chrome
}
resp = requests.get(url, headers=headers)

mess=re.findall(‘title=”(.?)” data-index’,resp.text)
links=re.findall(‘href=”(https://www.kugou.com/mixsong/.
?)”‘,resp.text)

datas=[]
for mes,link in zip(mess[1:],links):
au,song=str(mes).split(‘-‘)
datas.append({“作者”:au,
“歌名”:song,
“歌曲链接”:link
})
with open(‘数据.csv’, ‘a’, newline=’’, encoding=’utf-8’) as f:
writer = csv.DictWriter(f, fieldnames=[‘作者’,‘歌名’,‘歌曲链接’]) # 提前预览列名,当下面代码写入数据时,会将其一一对应。
writer.writeheader() # 写入列名
writer.writerows(datas) # 写入数据
print(“数据已经写入成功!!!”)