爬虫遇到的一些问题汇总

在爬取百度信息流数据时,原本需要动态生成的reqid参数被发现可忽略。使用postman测试接口后,证实不传reqid也能正常工作。对于x-www-form-urlencoded类型的POST接口,文章提供了参数传递示例,包括params和data的构建。此外,还提到一个GET接口的编码问题,解决方法是将某些部分进行encode。
摘要由CSDN通过智能技术生成
  1. 爬虫针对"动态生成reqid"的处理

问题描述:

爬取百度信息流数据时, 需爬接口传参带动态生成的reqid, 这时代码该如何处理?

处理方式:

试着用postman调用该接口, 神奇的事情发生了, 不传这个参数也是可以的!!!

所以,

在代码爬取时, 直接忽略该参数就ok啦~~~

解决方案灵感来自于: https://cloud.tencent.com/developer/article/1874637

  1. post接口如何传参x-www-form-urlencoded

还是上面那个接口, 以往没爬过x-www-form-urlencoded类型传参, 所以记录一下:

# application/x-www-form-urlencoded 形式传参
params = {"levelCond": {"userid": "xxx"},
          "startTime": start_time,
          "endTime": end_time,
          "fields": ["planid", ..., "cost"],
          "pageNo": page_index,
          "pageSize": 50,
          "filters": [],
          "dateType": 0}
data = {
    "userid": "xxx",
    "token": token,
    "path": "carinae/GET/xxx",
    "params": json.dumps(params)}
data = parse.urlencode(data)
res = requests.post(url=xxx, headers=xxx, data=data)
  1. 灵异事件之—get接口一直获取不到全部数据

很简单的问题但排查了很久, 仔细对比网站接口发现从followUp开始往后需要encode一下...

后面遇到问题会持续更新到这篇文章 ^^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值