# -*- coding: utf-8 -*- import requests def get_html(): url='https://y.qq.com/n/yqq/toplist/4.html/'#下载这个 url='https://u.y.qq.com/cgi-bin/musics.fcg?-=getUCGI4291922759215392&g_tk=616243355&sign=zzafuse5325l3248cc01529e50f824d8db9aa53969e2dc&loginUin=999&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq.json&needNewCode=0&data=%7B%22detail%22%3A%7B%22module%22%3A%22musicToplist.ToplistInfoServer%22%2C%22method%22%3A%22GetDetail%22%2C%22param%22%3A%7B%22topId%22%3A4%2C%22offset%22%3A0%2C%22num%22%3A20%2C%22period%22%3A%222020-04-23%22%7D%7D%2C%22comm%22%3A%7B%22ct%22%3A24%2C%22cv%22%3A0%7D%7D' resp=requests.get(url) return resp.json()#类型是json不是text def parse_html(): result=[]#用于存数据库 resp_json=get_html() list_song=resp_json['detail']['data']['data']['song'] for item in list_song: result.append((item['rank'],item['title'],item['singerName']))#里面是无组 return result import mysql.connector#python插入多条数据,不用循环 def save_data(): mydb=mysql.connector.connect(host='localhost',user='root',passwd='root',database='py_test') #insert into database mycursor=mydb.cursor() sql='insert into song_table values (%s,%s,%s)' lists=parse_html() mycursor.exeutemany(sql,lists) mydb.commite() if __name__=='__main__': save_data()