哈岁NB 发表于 2023-6-21 16:49:34

爬取音乐

请问大佬们,爬取这个网址,应该返回的下图的json字符串,为什么我写的代码只爬到一点JSON字符串
import requests

BASE_DOMAIN = 'https://u.y.qq.com/cgi-bin/musics.fcg'

HEADERS = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36",
}

data = {
    '_': '1687334261562',
    'sign': 'zzb8ba444ccfcxjh9l725hrbladxgnrwad88e1b52'
}

response = requests.post(url=BASE_DOMAIN,headers=HEADERS,data=data).json()
print(response)

返回的字符串只有{"code":500001,"ts":1687336767824,"start_ts":1687336767824,"traceid":"475113ee8bba5a48"}

歌者文明清理员 发表于 2023-6-21 17:08:41

本帖最后由 歌者文明清理员 于 2023-6-21 17:11 编辑

动态渲染

https://www.leixue.com/tag/动态渲染

动态渲染是指在运行时实时地生成图像的过程。这与静态渲染有所不同,静态渲染是指在制作图像时,将所有图像元素预先渲染好并存储下来,在运行时直接展示。
动态渲染通常用于游戏开发和虚拟现实应用中,因为它能够实时地展示三维环境和物体的变化。动态渲染的过程需要高效的图形处理单元(GPU)来实现,比静态渲染需要更多的计算能力。
动态渲染的优势在于它能够实时地展示三维环境和物体的变化,更加逼真和真实, 但需要高性能的硬件和算法来支持。
动态渲染就是让网页在不刷新浏览器的情况下,根据用户行为或者服务器端数据变化,给浏览器返回新的页面结构。
用js来实现动态渲染时,需要使用新的技术,如ajax、dom操,来监控用户行为及服务器端数据变化,然后利用js来动态更新网页,将新的HTML代码填充到页面上,以实现整体页面的更新。
动态渲染的优势在于:
1. 增加了页面的交互性。
2. 可以减少数据在服务器和客户端之间传输的数据量。
3. 提高了页面的性能和反应速度,节省了网络带宽和服务器的资源,升高用户体验。
4. 降低服务器负载,减轻流量压力。
5. 改善网页可访问性。

requests是静态的,devtools是动态的

比如你下载这个:https://fishc.com.cn/thread-127227-1-1.html的资源

然后在浏览器里看,再用Requests爬

哈岁NB 发表于 2023-6-21 17:27:58

歌者文明清理员 发表于 2023-6-21 17:08
动态渲染

https://www.leixue.com/tag/动态渲染


那请问我要是想爬取这个JSON字符串该怎么爬取呢

歌者文明清理员 发表于 2023-6-21 19:07:32

哈岁NB 发表于 2023-6-21 17:27
那请问我要是想爬取这个JSON字符串该怎么爬取呢

https://blog.csdn.net/m0_68795816/article/details/126343734?

https://zhuanlan.zhihu.com/p/462460461

哈岁NB 发表于 2023-6-21 22:23:10

歌者文明清理员 发表于 2023-6-21 19:07
https://blog.csdn.net/m0_68795816/article/details/126343734?

https://zhuanlan.zhihu.com/p/46246 ...

好的,感谢感谢
页: [1]
查看完整版本: 爬取音乐