urllib2 перенаправляет пустую страницу (хотя код 200 и geturl () указывает на новую страницу) - PullRequest
0 голосов
/ 16 ноября 2010

Я пытаюсь получить доступ к веб-странице с помощью urllib2, и автоматическое перенаправление в urllib2, похоже, не позволяет получить всю страницу.Вот мой код:

request = urllib2.Request(link)
request.add_header('User-Agent','...')
opener = urllib2.build_opener()

page = opener.open(request)
print(page.code)
print(page.geturl())
print(page.read())

a) Когда ссылка = 'https://www.google.com'. Она печатает

200
https://www.google.com
<!doctype...> Etc. Etc. </script>

b) Когда ссылка =' https://www.xyz.com/a_link_which_is_redirected.html'. Она печатает

200
https://the_new_link
<blank>

Однако, если я получаю доступ к «ссылке» на б) через интернет-браузер, он корректно отображает страницу с формой.

1 Ответ

0 голосов
/ 08 ноября 2011

Просмотр исходного кода страницы Google - он действительно заканчивается тегом script. Они пропускают некоторые закрывающие теги, потому что браузеры все еще могут правильно их интерпретировать, и это экономит пропускную способность.

Вот некоторые тестовые страницы перенаправления . Какие из них у вас не работают?

...