<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Python%E7%88%AC%E5%8F%96QQ%E9%9F%B3%E4%B9%90%E6%8E%92%E8%A1%8C%E6%A6%9C</id>
	<title>Python爬取QQ音乐排行榜 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Python%E7%88%AC%E5%8F%96QQ%E9%9F%B3%E4%B9%90%E6%8E%92%E8%A1%8C%E6%A6%9C"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Python%E7%88%AC%E5%8F%96QQ%E9%9F%B3%E4%B9%90%E6%8E%92%E8%A1%8C%E6%A6%9C&amp;action=history"/>
	<updated>2026-04-17T03:31:55Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=Python%E7%88%AC%E5%8F%96QQ%E9%9F%B3%E4%B9%90%E6%8E%92%E8%A1%8C%E6%A6%9C&amp;diff=890&amp;oldid=prev</id>
		<title>Evan：​/* references */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Python%E7%88%AC%E5%8F%96QQ%E9%9F%B3%E4%B9%90%E6%8E%92%E8%A1%8C%E6%A6%9C&amp;diff=890&amp;oldid=prev"/>
		<updated>2024-11-01T04:02:26Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;references&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
[[category:python]]  [[category:devops]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=code=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# 00:19 00:48   不过是2020年的，不是最亲新的，是最新的。&lt;br /&gt;
# https://www.json.cn/&lt;br /&gt;
# pip3 install mysql-connector  not sudo  ,我用pymsql &lt;br /&gt;
# find  url  network -- XHR -- musics.fcg &lt;br /&gt;
#  https://u.y.qq.com/cgi-bin/musics.fcg?-=getUCGI08231318753720207&amp;amp;g_tk=5381&amp;amp;sign=zzaerk2imozfha253e87f55eb66fc11a84b01c2d9087014&amp;amp;loginUin=0&amp;amp;hostUin=0&amp;amp;format=json&amp;amp;inCharset=utf8&amp;amp;outCharset=utf-8&amp;amp;notice=0&amp;amp;platform=yqq.json&amp;amp;needNewCode=0&amp;amp;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&lt;br /&gt;
&lt;br /&gt;
import requests ,pymysql &lt;br /&gt;
def get_html():&lt;br /&gt;
    # url=&amp;#039;https://y.qq.com/n/ryqq/toplist/4&amp;#039;&lt;br /&gt;
    url=&amp;#039;https://u.y.qq.com/cgi-bin/musics.fcg?-=getUCGI08231318753720207&amp;amp;g_tk=5381&amp;amp;sign=zzaerk2imozfha253e87f55eb66fc11a84b01c2d9087014&amp;amp;loginUin=0&amp;amp;hostUin=0&amp;amp;format=json&amp;amp;inCharset=utf8&amp;amp;outCharset=utf-8&amp;amp;notice=0&amp;amp;platform=yqq.json&amp;amp;needNewCode=0&amp;amp;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&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    resp=requests.get(url) #resp 结果 是一个Response对象，包含了请求的响应内容&lt;br /&gt;
    # print(resp.text) string类型&lt;br /&gt;
    return resp.json() #返回json格式数据&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#回头查看 为什么只打出一行 &lt;br /&gt;
# def parse_html():&lt;br /&gt;
#     lst = []&lt;br /&gt;
#     resp_json=get_html()&lt;br /&gt;
#     ##根据detail的建获取数值&lt;br /&gt;
#     lst_song=resp_json[&amp;#039;detail&amp;#039;][&amp;#039;data&amp;#039;][&amp;#039;data&amp;#039;][&amp;#039;song&amp;#039;]&lt;br /&gt;
#      #遍历列表(获取没一手歌曲的字典)&lt;br /&gt;
#     for item in lst_song:&lt;br /&gt;
#        #print(item[&amp;#039;rank&amp;#039;],item[&amp;#039;title&amp;#039;],item[&amp;#039;singerName&amp;#039;])&lt;br /&gt;
#        #(方法 (元组))&lt;br /&gt;
#        #lst.append((item[&amp;#039;rank&amp;#039;],item[&amp;#039;title&amp;#039;],item[&amp;#039;singerName&amp;#039;]))&lt;br /&gt;
#        lst.append((item[&amp;#039;rank&amp;#039;],item[&amp;#039;title&amp;#039;],item[&amp;#039;singerName&amp;#039;]))#列表存储的是所有的歌曲的元组&lt;br /&gt;
#        return lst &lt;br /&gt;
       &lt;br /&gt;
#        #,item[&amp;#039;title&amp;#039;],item[&amp;#039;singerName&amp;#039;]&lt;br /&gt;
    &lt;br /&gt;
def parse_html():&lt;br /&gt;
    lst=[]&lt;br /&gt;
    resp_json=get_html()&lt;br /&gt;
    lst_song=resp_json[&amp;#039;detail&amp;#039;][&amp;#039;data&amp;#039;][&amp;#039;data&amp;#039;][&amp;#039;song&amp;#039;]&lt;br /&gt;
    #print(lst_song)&lt;br /&gt;
    for item in lst_song:&lt;br /&gt;
        lst.append((item[&amp;#039;rank&amp;#039;],item[&amp;#039;title&amp;#039;],item[&amp;#039;singerName&amp;#039;]))&lt;br /&gt;
    #print(lst)&lt;br /&gt;
    return lst&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def save_database():&lt;br /&gt;
    mydb = pymysql.connect(host=&amp;quot;127.0.0.1&amp;quot;,port=3308,  user = &amp;quot;root&amp;quot;, passwd =&amp;quot;aAbc123654&amp;quot;, database = &amp;quot;pythontest&amp;quot;, charset=&amp;#039;utf8&amp;#039;)&lt;br /&gt;
    mycursor=mydb.cursor()&lt;br /&gt;
    sql=&amp;#039;insert into song_table values (%s,%s,%s)&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    val=parse_html()&lt;br /&gt;
&lt;br /&gt;
    mycursor.executemany(sql,val)&lt;br /&gt;
    mydb.commit()&lt;br /&gt;
    print(mycursor.rowcount,&amp;quot;record inserted.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    # print(parse_html())&lt;br /&gt;
    save_database()&lt;br /&gt;
    # print(get_html())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ➜  ch23 git:(master) ✗ py3 y.qq.py&lt;br /&gt;
# 20 record inserted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ySQL [pythontest]&amp;gt; select * from song_table ;&lt;br /&gt;
# +------+------------------------------+------------------------------------------+&lt;br /&gt;
# | id   | song_name                    | singer_name                              |&lt;br /&gt;
# +------+------------------------------+------------------------------------------+&lt;br /&gt;
# |    1 | 和你在一起                   | TFBOYS                                   |&lt;br /&gt;
# |    2 | 灯火                         | TFBOYS                                   |&lt;br /&gt;
# |    3 | 你是人间四月天 (Live)        | 邵帅                                     |&lt;br /&gt;
# |    4 | 孔雀                         | 任然                                     |&lt;br /&gt;
# |    5 | 飞鸟和蝉                     | 任然                                     |&lt;br /&gt;
# |    6 | 像极了 (Live)                | aZi/Lil Howcy/lil milk/连麻Swimming/Kc   |&lt;br /&gt;
# |    7 | Rager teenager! (Explicit)   | Troye Sivan                              |&lt;br /&gt;
# |    8 | 你走 (Demo)                  | 松紧先生（李宗锦）                       |&lt;br /&gt;
# |    9 | 烟火人间                     | 添儿呗                                   |&lt;br /&gt;
# |   10 | 微光海洋                     | 周深/王者荣耀                            |&lt;br /&gt;
# |   11 | Better with you              | 徐梦圆                                   |&lt;br /&gt;
# |   12 | Salt                         | Vikki Leigh                              |&lt;br /&gt;
# |   13 | 无人知晓                     | YU鱼                                     |&lt;br /&gt;
# |   14 | 余香                         | 张小九                                   |&lt;br /&gt;
# |   15 | 座位                         | 金池                                     |&lt;br /&gt;
# |   16 | 另一半                       | 金池                                     |&lt;br /&gt;
# |   17 | 当真                         | 野小马                                   |&lt;br /&gt;
# |   18 | 浪潮Vega                     | 丁于                                     |&lt;br /&gt;
# |   19 | 临行天                       | 伦桑                                     |&lt;br /&gt;
# |   20 | 破茧                         | 张韶涵                                   |&lt;br /&gt;
# +------+------------------------------+------------------------------------------+&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# import requests&lt;br /&gt;
# import json&lt;br /&gt;
# from bs4 import BeautifulSoup&lt;br /&gt;
# import pymysql&lt;br /&gt;
&lt;br /&gt;
# def get_html():&lt;br /&gt;
#     url=&amp;#039;https://u.y.qq.com/cgi-bin/musics.fcg?-=getUCGI08231318753720207&amp;amp;g_tk=5381&amp;amp;sign=zzaerk2imozfha253e87f55eb66fc11a84b01c2d9087014&amp;amp;loginUin=0&amp;amp;hostUin=0&amp;amp;format=json&amp;amp;inCharset=utf8&amp;amp;outCharset=utf-8&amp;amp;notice=0&amp;amp;platform=yqq.json&amp;amp;needNewCode=0&amp;amp;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&amp;#039;&lt;br /&gt;
#     headers = {&lt;br /&gt;
#         &amp;#039;user-agent&amp;#039;: &amp;#039;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36&amp;#039;}  # 创建头部信息&lt;br /&gt;
#     resp=requests.get(url,headers=headers)&lt;br /&gt;
#     #print(resp.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=references=&lt;br /&gt;
&lt;br /&gt;
[https://www.bilibili.com/video/BV1E1yoYyE4F/?spm_id_from=333.788.videopod.episodes&amp;amp;vd_source=e3e41ea2b1d70e0e3a6a0372ee88d714&amp;amp;p=83 B站视频 解说]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/MoooJL/p/13462343.html1 Python爬取QQ音乐榜单数据]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/dazhi151/p/13466414.html 爬取QQ音乐排行榜的相关音乐信息]&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>