python学习笔记 Network XHR json

这篇博客介绍了如何通过分析网页的Network和XHR请求来抓取QQ音乐中周杰伦歌曲的详细信息。首先解释了Network功能,然后讲解了XHR在网络请求中的作用,特别是对于动态加载内容的重要性。通过分析XHR请求,找到了包含歌曲数据的URL,并展示了如何使用Python的requests和json库来提取并解析歌曲信息。
摘要由CSDN通过智能技术生成

一.重新分析过程
从QQ音乐搜索周杰伦的歌,打印所有歌名,代码可以写成如下:

import requests
from bs4 import  BeautifulSoup
res_music = requests.get('https://y.qq.com/portal/search.html#page=1&searchid=1&remoteplace=txt.yqq.top&t=song&w=%E5%91%A8%E6%9D%B0%E4%BC%A6')
# 请求html,得到response
bs_music = BeautifulSoup(res_music.text,'html.parser')
# 解析html
list_music = bs_music.find_all('a',class_='js_song')
# 查找class属性值为“js_song”的a标签,得到一个由标签组成的列表
for music in list_music:
# 对查找的结果执行循环
    print(music['title'])
    # 打印出我们想要的音乐名

代码没有什么问题,但是得到的结果为空,这是为什么?
打印res_music,我们可以看到,网页源代码里根本没有我们想要的歌曲清单,那么问题到底出在哪里?
想要找到答案,我们需要学习——Network.
Network的功能是:记录在当前页面上发生的所有请求。
总之,为了成功抓取到歌曲清单。我们得先找到,歌名藏在哪一个请求当中。再用requests库,去模拟这个请求。

二.Network怎么用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值