Python搜寻器问题

时间:2018-07-06 07:24:26

标签: python web-crawler postman

我有一个我似乎无法解决自己的问题,我希望这里的人可能有另一个可以帮助我的想法。

我的计划是从商品交易中抓取多个国家和时间范围的数据,但即使是我的第一个电话也无法正常工作。我要发送获取请求的URL是http://comtrade.un.org/api/get?&r=32&freq=A&ps=2013&px=H4&cc=AG6&type=C&rg=2&p=0&head=M,如果我在邮递员中输入此数据,我会收到包含大量数据集的正确响应,但是如果我尝试从python中获取响应,则

“ {{消息”:'不允许使用空参数或空值。有关更多信息,请访问http://comtrade.un.org/data/doc/api/'}“

相反。该API不进行任何身份验证,我没有设置任何标头,也没有对邮递员进行任何其他类型的更改,但是在这里可以正常工作。

请查看我的代码,并告诉我我做错了什么。我错过了什么吗?

您可以使用上述URL自己每小时最多进行100次尝试,也许您可​​以找到一种方法:)

我的代码:

import json
import requests
url = "http://comtrade.un.org/api/get?&r=32&freq=A&ps=2013&px=H4&cc=AG6&type=C&rg=2&p=0&head=M"
f = requests.get(url, timeout=300)
x = json.loads(f.text)
print(x)

2 个答案:

答案 0 :(得分:2)

URL格式错误,应将?&替换为?,这样正确的URL变为: https://comtrade.un.org/api/get?r=32&freq=A&ps=2013&px=H4&cc=AG6&type=C&rg=2&p=0&head=M

答案 1 :(得分:0)

import json
import requests
url = "http://comtrade.un.org/api/get?r=32&freq=A&ps=2013&px=H4&cc=AG6&type=C&rg=2&p=0&head=M"
f = requests.get(url, timeout=300)
x = json.loads(f.text)
print(x)

希望有帮助。