Вот фрагмент кода, который я использую для получения HTML-кода (кода) веб-страницы по его URL-адресу с помощью Google App Engine:
from google.appengine.api import urlfetch
url = "http://www.google.com/"
result = urlfetch.fetch(url)
if result.status_code == 200:
print "content-type: text/plain"
print
print result.content
Здесь все хорошо, но иногда мне нужно получить HTML-источник страницы с сайта, на котором я зарегистрирован, и могу получить доступ только к этой странице, если сначала передаю свой ID и пароль. (Это может быть любой сайт, на самом деле, как и любой почтовый аккаунт, например Yahoo: https://login.yahoo.com/config/mail?.src=ym&.intl=us или любой другой сайт, на котором пользователи бесплатные учетные записи, сначала регистрируясь там). Могу ли я как-то это сделать на Python (через "Google App Engine" )?
Вы можете проверить код состояния HTTP 401, "разрешить авторизацию" и предоставить вид HTTP-авторизации (базовый, дайджест, что угодно), которое запрашивает сайт - см., например, здесь для более подробной информации (здесь не так много, что GAE здесь - это вопрос изучения HTTP-данных и их подчинения!).
Как сказал Алекс, вы можете проверить код состояния и посмотреть, какой тип авторизации он хочет, но вы не можете его обобщить, так как некоторые сайты не будут давать никаких подсказок или разрешать вход через нестандартную форму, в тех случаях, когда вы можете необходимо автоматизировать процесс входа в систему с использованием форм, для чего вы можете использовать библиотеку, например twill (http://twill.idyll.org/) или ввести код для конкретной формы для каждого сайта.