【Python爬虫】获取Ajax加载方式的数据(简易版)

当网页数据通过Ajax方式加载时,常规的requests请求无法获取正确信息。本文以获取网易云音乐‘see you again’热评为例,详细介绍了如何通过POST方式请求服务器获取JSON数据。首先找到POST请求的URL和data参数,然后构造请求头headers和data,最后编写Python代码实现爬取,成功获取到第一页的热评和评论。
摘要由CSDN通过智能技术生成

在使用urllib2或者requests爬取网页时,碰到了问题,网页的数据是通过Ajax方式加载的,返回的html代码和网页开发者调试中显示的内容不一致,类似于下面这样

上面第一张是开发者选项中的源码,下面这是requests返回的html代码,明显不同。所以通过requests是无法准确筛选出我们需要的信息。

这时候我们就需要通过POST方式获取到服务器发送的json信息,然后进行筛选。如何获取,这里以获取网页版网易云音乐中的

see you again 的第一页的热评和评论为例:

(1) 首先,我们进入网页版网易云搜索 see you again,打开开发者选项,发现html文档是GET方式获取的,获取URL是http://music.163.com/ 这和我们使用requests获取到的html是一样的,这里面没有我们需要的数据。:

(2) 我们需要的是服务器返回的json数据,所以需要找到POST方式的数据报

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值