目标网站https://music.163.com/discover/toplist

import csv

import requests
import re
import json

data_list = []
url = "https://music.163.com/discover/toplist"
headers = {
    'user-agent': '自己的UA'
}
response = requests.get(url, headers=headers)
html = response.content.decode("utf-8")
# print(html)
# result = re.findall('<a href="/song\?id=(.*?)">(.*?)</a>', html, re.S)
result = re.findall('<textarea id="song-list-pre-data" style="display:none;">(.*?)</textarea>', html, re.S)
# result=re.findall('"artists":\[\{"id":5773,"name":"谢霆锋","tns":\[],"alias":\[]}\],"alias":\[],"status":0,"ftype":0,"score":100.0,"copyrightId":2706568,"mvid":14490635,"transNames":null,"no":1,"publishTime":973008000000,"commentThreadId":"R_SO_4_168905","name":"活着Viva","id":168905,"type":0}',html,re.S)
res = json.loads(result[0])
# print(res[0]['artists'][0]['name']) #歌手
# print(res[0]['album']['name'])  #歌名
# for i in result:
#     print(i)
# print(res[10]['artists'][0]["name"]) #歌手
# a = ""
# item = res[10]['artists']
# print(res[10]['artists'])  # 歌名
# for i in res[10]['artists']:
#     a = a + i["name"] + "\\"
# print(a)
# print()
# print(res[1]['artists'])  # 歌名
for data in res:
    name = ""
    num = 0
    # print(data['artists'][0]['name'])
    item = {}
    for i in data['artists']:
        name += i["name"] + "\\"
        num += 1
    if (num == 1):
        name = data['artists'][0]['name']
    item["personname"] = name
    item["songname"] = data['name']
    data_list.append(item)

print(data_list)

with open("wyy.csv", 'w', encoding='utf-8', newline='') as f:
    wt = csv.DictWriter(f, fieldnames=['personname', "songname"])
    wt.writeheader()
    wt.writerows(data_list)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值