Python / Json - 如何从禁止的json url中删除

问题描述 投票:1回答:1

以下链接包含我需要废弃的数据:https://jobsearch.svc.dhigroupinc.com/v1/efc/jobs/search?page=1&facets= *&countryCode2 = SG&pageSize = 10&currencyCode = SGD

通过预览,我可以看到有数据可用,但隐藏。单击链接以查看预览图像。 Preview of data

但是,它仅显示:{“message”:“Forbidden”}

无论如何,我可以检索我需要的json数据,如下所示?

{"data":[{"id":"307ocL4mnUnNJT5V","title":"KYC Analyst","jobLocation":{"city":"Singapore",...........

如果需要,以下是网络标头的数据。

1) Data for network-headers

2) Data for network-headers

我已经使用selenium来检索我想要的数据,但是如果我可以检索json数据,我可以跳过使用selenium,而只是使用简单的请求。有任何想法吗?

python json selenium
1个回答
1
投票

你似乎唯一缺少的是api密钥。我不确定它经常变化(如果有的话)但是我似乎能够通过将x-api-key添加到标题中来进行正确的调用。

import json

import requests

base_url = 'https://jobsearch.svc.dhigroupinc.com/v1/efc/jobs/search'
params = {
    'page': 1,
    'facets': '*',
    'countryCode2': 'SG',
    'pageSize': 10,
    'currencyCode': 'SGD',
}
headers = {
    'x-api-key': 'zvDFWwKGZ07cpXWV37lpO5MTEzXbHgyL4rKXb39C'
}

r = requests.get(base_url, headers=headers, params=params)
r.raise_for_status()

# json.dumps only for pretty printing, r.json() is all you need
print(json.dumps(r.json(), indent=2))

输出:

© www.soinside.com 2019 - 2024. All rights reserved.