Вопрос:

Перенаправление в браузере отличается от кода Python

python http python-requests

21 просмотра

1 ответ

65 Репутация автора

Я хочу открыть ссылку с веб-сайта, используя Python, поэтому здесь поток:

  1. Я открываю основной URL (например, www.url1.com)

  2. Я перелистываю страницу и нахожу кнопку, на ней есть ссылка для перенаправления (www.url2.com)

  3. когда я использую эту ссылку в браузере, она перенаправляет на (www.url3.com), а затем сразу переходит на другую (Обязательная ссылка) (www.url4.com)

  4. Когда я пытаюсь использовать тот же поток, используя запросы Python, он идет только на (www.url3.com)

  5. Я пытался использовать allow_redirectsаргумент без какого-либо успеха

Вот мой код:

import requests

headers = {
    'User-Agent': '',
    'authority': '',
    'scheme': '',
    'accept': '',
    'x-requested-with': '',
    'cookie': '',
    'referer': 
    }


def download(req):      
    resp = requests.get(req, headers=headers, allow_redirects=True)
    print(resp.text)

Я также попытался напечатать историю, используя этот ответ .

но он продолжает перенаправлять меня тоже (url3)

Автор: Aya Источник Размещён: 09.08.2019 09:53

Ответы (1)


0 плюса

2564 Репутация автора

Довольно сложно дать полный ответ, не имея реальных URL-адресов, которые вы используете. При этом я думаю, что проблема связана с тем, что вы не сохраняете / не отслеживаете cookie-файлы, поэтому я бы порекомендовал вам использовать их requests.session()при отправке запросов, поскольку они отслеживают cookie-файлы для вас.

В общем, я бы порекомендовал попробовать следующий код:

import requests

session = requests.session()

headers = {
    'User-Agent': '',
    'authority': '',
    'scheme': '',
    'accept': '',
    'x-requested-with': '',
    'cookie': '',
    'referer': 
    }


def download(req):
    global session

    resp = session.get(req, headers=headers, allow_redirects=True)
    print(resp.text)

(PS: если вы закрываете сайт, я настоятельно рекомендую вам использовать User-Agent в заголовках, а не оставлять его пустым)

Надеюсь это поможет

Автор: Fozoro Размещён: 11.08.2019 07:19
Вопросы из категории :
32x32