zoukankan      html  css  js  c++  java
  • 爬取QQ音乐排行榜的相关音乐信息

    这次是爬取音乐的相关内容之后写进数据库:

    具体的实验代码如下:

    import requests
    import pymysql
    #用此函数爬取网页数据
    def get_html():
        url='https://u.y.qq.com/cgi-bin/musics.fcg?-=getUCGI6632950523974979&g_tk=5381&sign=zza9vmelgfwml53e87f55eb66fc11a84b01c2d9087014&loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8&notice=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-08-08%22%7D%7D%2C%22comm%22%3A%7B%22ct%22%3A24%2C%22cv%22%3A0%7D%7D'
        headers={'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0'}
        resp=requests.get(url,headers=headers)
        return resp.json()
    #进行数据的解析
    def parse_html():
        lst=[]#用于存储获取到的数据
        #调用函数获取json数据
        resp_json=get_html()
        #根据detail的建获取数值
        lst_song=resp_json['detail']['data']['data']['song']
        #遍历列表(获取没一手歌曲的字典)
        for item in lst_song:
            lst.append((item['rank'],item['title'],item['singerName']))#列表存储的是所有的歌曲的元组
        return lst
    
    #存储到数据库之中
    def save_database():
        db = pymysql.connect("localhost", "root", "111111", "summerperiod", charset='utf8')
        cursor = db.cursor()
        lst=parse_html()
        sql_cixian = "INSERT INTO food values (%s,%s,%s,%s,%s,%s,%s)"
        cursor.executemany(sql_cixian, lst)
        db.commit()
        db.close()
    if __name__=='__main__':
        save_database()
    

      

    运行结果如下:

  • 相关阅读:
    Linux----硬连接和软连接
    C4.5算法
    浅谈机器学习方法
    ID3算法(决策树)
    修改mysql数据库 允许远程访问
    CentOS 7安装Samba 4.6 版本步骤及错误解决方法
    CentOS安装mysql
    eclipse 安装lombok插件
    电脑忘记密码,破解方式
    mysql常用的信息查询函数
  • 原文地址:https://www.cnblogs.com/dazhi151/p/13466414.html
Copyright © 2011-2022 走看看