以下是一段代码,用于通过其网址使用Google App Engine获取网页HTML源代码(代码):
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和密码,则只能访问该页面。 (它可以是任何网站,实际上,像任何邮件帐户提供网站,如雅虎:https://login.yahoo.com/config/mail?.src=ym&.intl=us或任何其他网站,用户通过首先在那里注册获得免费帐户)。 我可以用Python(通过“Google App Engine”)以某种方式做到这一点吗?
答案 0 :(得分:3)
您可以检查HTTP状态代码401,“需要授权”,并提供网站要求的HTTP授权类型(基本,摘要等) - 请参阅例如here了解更多详细信息(这里没有太多具体的GAE - 这是学习HTTP详细信息并遵守它们的问题!)。
答案 1 :(得分:1)
正如Alex所说,您可以检查状态代码并查看它想要的自动化类型,但是您无法概括它,因为某些网站不会提供任何提示或仅允许通过非标准表单登录,在这种情况下,您可以必须使用表单自动化登录过程,因为你可以使用像twill这样的库(http://twill.idyll.org/) 或为每个网站编写特定表单提交。