Как я могу заставить запросы ждать перенаправления 302 до фини sh в Python? - PullRequest
0 голосов
/ 12 апреля 2020

Я новичок в веб-очистке, и я пытаюсь получить некоторые данные с сайта, но есть очередь ожидания при вводе (возможно, ~ 15 секунд, когда я пытаюсь в реальном браузере), что является еще одним url.

При использовании запросов в Python я никогда не перенаправляюсь на реальный URL, даже если это перенаправление 302 (которое должно быть временным).

Используя этот код:

s = requests.Session()
r = s.get(store, allow_redirects=True, headers=headers)
print(r.status_code)
print(r.history)

Я получаю:

200
[<Response [302]>]

Если я поставлю allow_redirects=False, я просто получу пустую страницу. Как я могу дождаться, пока очередь ожидания завершится sh, и перенаправить меня на реальный сайт, прежде чем использовать bs4 для получения нужных мне данных?

Я попытался вставить это в al oop, чтобы проверить r.url каждые x секунд, но оно никогда не меняется. Также пытался get каждые х секунд, но тот же результат.

1 Ответ

2 голосов
/ 12 апреля 2020

кажется, что ответ содержит javascript, который выполняет перенаправление ... так что, возможно, вам нужно прочитать URL перенаправления из этого r.text,

...