实战解决Python requests爬虫①返回全是JS②403错误的问题

本文介绍了如何解决Python使用requests库爬取数据时遇到的两个问题:一是请求返回JS代码而非实际数据,二是POST请求返回403错误。通过分析浏览器的网络请求,找到了数据来源于特定API接口,并成功构造请求获取数据。在处理403错误时,发现是cookie中的ab_sr参数变化导致,通过更新cookie解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

因工作需要,要统计一些使用400客服电话的企业名单,百度的号码验证平台提供了一个查询的能力,对于已经收录的400电话,可以查询到对应的企业名称,但是直接request会遇到 ① url形式爬取到全是JS代码;② 使用post方法返回403 的两个问题。

解决过程

1、解决爬取到的全是JS代码的问题

问题:直接从url出手取到的全是JS代码

 从截图可以看出,每次查询,顶部url中的search参数会切换为对应的搜索关键词,如 在输入框中输入“4008208820”,那么会url会变成:号码认证平台.

因此第一反应是,直接用get方法,每次切换电话号码时,修改对应的url参数

# 切换电话号码时,修改对应的url参数
import requests as re

# 省略headers的配置环节

for each_number in range(起始号码,结束号码):
    response = re.get(url + str(each_number))
    print(response.text)

结果意料之中,全是JS代码,意味着这条路走不通。

不过看到JS代码,我们应该想到,下方查询的结果肯定是从某个接口请求到的,我们如果能找到对应的api接口,并且构造以假乱真的请求,也许能从接口中拿到数据。

通过分析执行查询时检查模

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值