You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

爬虫请求Algolia接口返回400,POST/GET请求无响应如何解决

问题成因
  • POST请求返回No content in POST request报错:
    Algolia搜索接口属于检索类接口,POST请求要求必须携带符合格式的请求体参数,用来指定检索的索引名、过滤条件、分页规则、返回字段等信息,你当前的代码没有传递任何请求体,因此被接口拒绝。
  • GET请求返回indexName is not valid报错:
    该接口本身仅支持POST请求调用,使用GET方法无法正常传递检索参数,缺少必填的索引名参数,因此触发报错。
解决方法
  1. 抓取浏览器正常请求的请求体:打开育碧岗位页的浏览器网络控制台,找到你定位到的这个Algolia接口,点击「Payload」标签,复制完整的请求JSON内容。
  2. 发起POST请求时携带该JSON作为请求体,同时补充必要的请求头避免被拦截。
  3. 如果需要爬取全量岗位,调整请求体中的分页参数page、hitsPerPage循环发起请求即可。
完整代码示例
import requests

# 接口地址
url = "https://avcvysejs1-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=Algolia%20for%20JavaScript%20(4.8.4)%3B%20Browser%20(lite)%3B%20JS%20Helper%20(3.3.4)%3B%20react%20(16.12.0)%3B%20react-instantsearch%20(6.8.3)&x-algolia-api-key=1291fd5d5cd5a76a225fc6b00f7b296a&x-algolia-application-id=AVCVYSEJS1"

# 请求头,避免被接口拦截
headers = {
    "Content-Type": "application/json",
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}

# 英国地区岗位的标准请求体,可自行调整hitsPerPage、page参数控制分页
payload = {
    "requests": [
        {
            "indexName": "prod_ubisoft_en-us_job_openings",
            "params": "hitsPerPage=100&page=0&filters=countries:gb&facets=%5B%22addedDate%22%2C%22applyEmail%22%2C%22cities%22%2C%22contractTypes%22%2C%22countries%22%2C%22disciplines%22%2C%22graduationDate%22%2C%22brand%22%2C%22locations%22%2C%22schools%22%2C%22skills%22%2C%22teams%22%2C%22workType%22%5D&tagFilters="
        }
    ]
}

response = requests.post(url, headers=headers, json=payload)
result = response.json()
# 输出岗位列表
print(result["results"][0]["hits"])

内容的提问来源于stack exchange,提问作者scotmanDavid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 15:45:02