Использование urllib2 для публикации данных, отслеживания перенаправлений и поддержки файлов cookie - PullRequest
4 голосов
/ 27 июля 2010

Я использую urllib2 в Python для публикации данных для входа на веб-сайт.

После успешного входа сайт перенаправляет мой запрос на другую страницу. Может кто-нибудь предоставить простой пример кода о том, как сделать это в Python с urllib2? Полагаю, мне понадобятся файлы cookie, чтобы вошел в систему , когда меня перенаправят на другую страницу. Правильно?

Большое спасибо в Advace.

1 Ответ

6 голосов
/ 28 июля 2010

Во-первых, получите механизацию: http://wwwsearch.sourceforge.net/mechanize/
Вы могли бы делать такие вещи только с помощью urllib2, но вы будете писать тонны шаблонного кода, и он будет содержать ошибки.

Тогда:

import mechanize

br = mechanize.Browser()
br.open('http://somesite.com/account/signin/')

br.select_form('loginForm')    
br['username'] = 'jekyll'
br['password'] = 'bananas'
br.submit()
# At this point, you're logged in, redirected, and the 
#  br object has the cookies and all that.

br.geturl() # e.g. http://somesite.com/loggedin/

Затем вы можете использовать объект Browser br и делать все, что вам нужно, переходить по ссылкам и т. Д. Проверьте примеры на сайте механизации

...