Подтвердить что ты не робот

Как получить URL-адрес перенаправления с помощью Python

В Python я использую urllib2 для открытия URL-адреса. Этот url перенаправляет на другой URL-адрес, который перенаправляет на еще один URL-адрес.

Я хочу распечатать URL-адрес после каждого перенаправления.

Например

- >= перенаправляет на

A → B → C → D

Я хочу напечатать URL-адреса B, C и D (уже известно, потому что это стартовый URL-адрес).

4b9b3361

Ответ 1

Вероятно, лучший способ - подкласс urllib2.HTTPRedirectHandler. Dive Into Python о перенаправлениях может быть полезно.

Ответ 2

Вы можете легко получить D, просто запросив текущий URL.

req = urllib2.Request(starturl, datagen, headers)
res = urllib2.urlopen(req)
finalurl = res.geturl()

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