Как предотвратить перенаправление при разборе - PullRequest
0 голосов
/ 11 октября 2019

Я разбираю Instagram, и он начал перенаправлять меня на страницу входа. Скрипт просто берет материал с главной страницы без функции регистрации. - window._sharedData

Как я могу остановить перенаправление и продолжать загружать главную страницу целевого аккаунта?

for i in list_of_urls:
        headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'}
        responce = requests.get(i,headers=headers)
        response_text = responce.text
        shared_data = response_text.split('window._sharedData = ')[1].split(';</script>')[0]
etc...

Я проверил перенаправления с помощью:

for i in list_of_urls:
        headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'}
        responce = requests.get(i,headers=headers)
        if responce.history:
           print("Request was redirected")
        for resp in responce.history:
            print(resp.status_code, resp.url)
        print("Final destination:")
        print(responce.status_code, responce.url)
    else:
        print("Request was not redirected")

И он действительно перенаправляет:

https://www.instagram.com/_linails_/
https://www.instagram.com/alena.nails.tallinn/
Request was redirected
302 https://www.instagram.com/_linails_/
Final destination:
200 https://www.instagram.com/accounts/login/
Request was redirected
302 https://www.instagram.com/alena.nails.tallinn/
Final destination:
200 https://www.instagram.com/accounts/login/
Request was not redirected

Любая идея, как заставить это прекратить перенаправление или вернуться без регистрации?

PS похоже, что Instagram получил идею, что это скрипт, открывающийстраницы. Вот полный ответ от него - https://yadi.sk/d/2vcng8VTBDz35A

1 Ответ

0 голосов
/ 11 октября 2019

Вы можете попробовать это:

>>> r = requests.get('<url>', allow_redirects=False)

ОБНОВЛЕНИЕ: Пт 11 октября 07:21:15 UTC 2019

Я не могу воспроизвести эту проблему, чтобы увидетьбоюсь, почему нет никакого контента, возможно, они ограничены в зависимости от местоположения:

>>> r = requests.get('https://www.instagram.com/_linails_/')
>>> r.history
[]
>>> r.url
'https://www.instagram.com/_linails_/'
...