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(“数据已经写入成功!!!”)