如何在 Python 中发出 API 请求

问题描述 投票:0回答:2

我正在尝试向我的在线网站抓取工具CloudScrape发出 API 请求,文档显示以下示例。

POST /api/runs/{runId}/execute/inputs/wait HTTP/1.1

X-CloudScrape-访问:ga09usdm8osdf8n9sodf
X-CloudScrape-帐号:87750c5f-7423-4438-b3f1-7b8b86990621
接受:application/json
接受编码:gzip
内容类型:application/json
主办方:app.cloudscrape.com
用户代理:YourApp/1.0 >
> { > "my_input_field": "我的输入值", > “我的其他输入字段”:234 > }

我正在尝试发布以下参数;

主体,runId

到目前为止,我已经尝试过了

import requests
import json

client = requests.session()

runID = '86df246f-8f77-47b9-9655-be61e3851839'
inputQuery = {"query": "1080p category:movies user:z0n321 imdb:3659388"}
data = {'body':inputQuery, 'runId':'86df246f-8f77-47b9-9655-be61e3851839'}
headers = {'X-CloudScrape-Access':'a41c493c2a31d068f1a06333311e52f7', 'X-CloudScrape-Account':'87750c5f-7423-4438-b3f1-7b8b86990621', 'Accept':'application/json', 'Content-Type':'application/json'}

response = client.post('https://app.cloudscrape.com/api/runs/{%s}/execute/inputs/wait' % runID, data=json.dumps(data), headers=headers)

results = json.loads(response.content)
print results

我收到这个回复

{u'code': 404, u'error': True}

当我通过他们的网站手动运行时,我的抓取工具运行良好。我是不是做错了什么?

python json web-scraping cloud
2个回答
3
投票

您的格式不正确。这样做:

'https://app.cloudscrape.com/api/runs/{}/execute/inputs/wait'.format(runID)

2
投票

您不需要将插值参数括起来。

...api/runs/%s/execute...
© www.soinside.com 2019 - 2024. All rights reserved.