Python / Json - Как избавиться от запрещенного URL JSON

1

Эта ссылка ниже содержит данные, которые мне нужно удалить: https://jobsearch.svc.dhigroupinc.com/v1/efc/jobs/search?page=1&facets= * & countryCode2 = SG & pageSize = 10 & currencyCode = SGD

Через предварительный просмотр я вижу, что есть данные, но скрытые. Нажмите ссылку, чтобы просмотреть изображение предварительного просмотра. Предварительный просмотр данных

Однако он отображает только: {"message": "Forbidden"}

В любом случае, я могу получить данные json, которые мне нужны, как показано ниже?

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

При необходимости данные для сетевых заголовков.

1) Данные для сетевых заголовков

2) Данные для сетевых заголовков

Я использовал селен для получения данных, которые хочу, но если бы я мог получить данные json, я мог бы пропустить использование селена, но вместо этого просто использовать простые запросы. Есть идеи?

  • 0
    Я буду здесь, чтобы предоставить больше данных, потому что я не уверен, что вам, ребята, может понадобиться. Просто дай мне знать. Заранее спасибо!
  • 1
    @G_M извините, я обновил полный URL, как указано выше. Пойду проверю. Спасибо
Показать ещё 1 комментарий
Теги:
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))

Выход:

  • 0
    @ HanJinn Нет проблем, последняя предоставленная вами ссылка была именно тем, что мне было нужно. Вы можете увидеть ключ API в заголовках запроса. Возможно, вы захотите передать другой user-agent в заголовке dict, чтобы не было так очевидно, что запрос GET исходит от Python. Вы можете даже передать реферер и заголовки происхождения. Я скопировал все заголовки, а затем удалял поля одно за другим, чтобы увидеть, какое минимальное количество заголовков я мог передать, и все же получить ответ JSON. В данном случае это был просто x-api-key .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню