程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

python面试题(22)

字典(0)

标签  

python面试(18)

字典(0)

日期归档  

2023-05(3)

爬取QQ音乐(周杰伦)

发布于2019-08-22 16:25     阅读(1183)     评论(0)     点赞(7)     收藏(2)


首先呢,我们打开QQ音乐搜索周杰伦
https://y.qq.com/portal/search.html#page=1&searchid=1&remoteplace=txt.yqq.top&t=song&w=周杰伦
在这里插入图片描述
一切做好准备后呢,我们需要找到歌曲清单,找到client_search(客户端搜索)……而且它最大,有10.9KB,我们来点击它。
在这里插入图片描述
这里分别Headers:标头(请求信息)、Preview:预览、Response:原始信息、Timing:时间。
然后我们点开Preview如图:
在这里插入图片描述
哈哈哈哈歌曲信息我们找到啦(data-song-list-0-name一层一层点开)
这个XHR是一个字典,键data对应的值也是一个字典;在该字典里,键song对应的值也是一个字典;在该字典里,键list对应的值是一个列表;在该列表里,一共有20个元素;每一个元素都是一个字典;在每个字典里,键name的值,对应的是歌曲名。

json是什么呢?粗暴地来解释,在Python语言当中,json是一种特殊的字符串,这种字符串特殊在它的写法——它是用列表/字典的语法写成的:
1a = ‘1,2,3,4’
2# 这是字符串
3b = [1,2,3,4]
4# 这是列表
5c = ‘[1,2,3,4]’
6# 这是字符串,但它是用json格式写的字符串
XHR的功能是传输数据,其中有非常重要的一种数据是用json格式写成的,和html一样,这种数据能够有组织地存储大量内容。json的数据类型是“文本”,在Python语言当中,我们把它称为字符串。我们能够非常轻易地将json格式的数据转化为列表/字典,也能将列表/字典转为json格式的数据。

代码如下:
import requests
res_music = requests.get(‘https://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.song&searchid=60997426243444153&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=20&w=周杰伦&g_tk=5381&loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8&notice=0&platform=yqq.json&needNewCode=0’)
json_music = res_music.json()
list_music = json_music[‘data’][‘song’][‘list’]
for music in list_music:
print(music[‘name’])
# 以name为键,查找歌曲名
print(‘所属专辑:’+music[‘album’][‘name’])
# 查找专辑名
print(‘播放时长:’+str(music[‘interval’])+‘秒’)
# 查找播放时长
print(‘播放链接:https://y.qq.com/n/yqq/song/’+music[‘mid’]+’.html\n\n’)
# 查找播放链接
—— 此为风变编程的学习笔记



所属网站分类: 技术文章 > 博客

作者:外星人入侵

链接:https://www.pythonheidong.com/blog/article/52878/eb437a1a810ca4265f10/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

7 0
收藏该文
已收藏

评论内容:(最多支持255个字符)