Найти - Пользователи
Полная версия: Redirect history
Начало » Python для новичков » Redirect history
1
TimmonSPB
Здравствуйте!

Нужно получить все url при редиректе.
Нашел human_curl , в описании есть что-то очень похожее:

import human_curl as requests
r = requests.get('http://h.wrttn.me/redirect/4', allow_redirects=True)
r.status_code
200
print(r.history)
['http://h.wrttn.me/redirect/3', 'http://h.wrttn.me/redirect/2',
'http://h.wrttn.me/redirect/1', 'http://h.wrttn.me/redirect/end']

но при попытке установить human_curl (Windows 7, Python2.7) выдает ошибку:
“NameError: global name ‘options’ is not defined
—————————————-
Command python setup.py egg_info failed with error code 1 in c: …. \pycurl2 ”

В программировании новичок, Python осваиваю вместе с Selenium WebDriver.
Буду очень признателен за помощь с установкой human_curl или за альтернативный вариант получения “redirect history”.

reclosedev
API human_curl срисован с http://python-requests.org/
Попробуйте именно ее.
TimmonSPB
я пробовал, получается например вот такое:


r.history
(<Response 302>, <Response 302>)

а как получить именно url не могу сообразить
reclosedev
http://docs.python-requests.org/en/latest/api/#requests.Response
for resp in r.history:
    print(r.url)
TimmonSPB
Спасибо! Практически то, что нужно. Хотя срабатывает не всегда Возможно, что обращение воспринимается как бот и редирект не срабатывает?
Dwarf
TimmonSPB
попробуйте задать user-agent “человеческий”, возьмите любой понравившийся отсюда: http://www.useragentstring.com/pages/useragentstring.php
TimmonSPB
А как быть, если редирект делается с помощью javascript ?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB