我正在尝试使用Kent's Korner中的代码读取基于表单的身份验证。至少我告诉我正在尝试阅读的网站是基于表单的身份验证。
但我似乎无法通过登录页面。我正在使用的代码是
Import urllib, urllib2, cookielib, string
# configure an opener that will handle cookies
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
urllib2.install_opener(opener)
# use the opener to POST to the login form and the protected page
params = urllib.urlencode(dict(username='user', password='stuff'))
f = opener.open('http://www.hammernutrition.com/forums/memberlist.php?mode=viewprofile&u=1323', params)
data = f.read()
f.close()
f = opener.open('http://www.hammernutrition.com/forums/memberlist.php?mode=viewprofile&u=1323')
data = f.read()
f.close()
答案 0 :(得分:3)
您可以使用mechanize在Python中模拟Web浏览器,而无需使用太多资源
(Debian / Ubuntu包称为python-mechanize
)。它处理cookie和提交表单,就像Web浏览器一样,一个很好的例子是Python Dropbox Uploader脚本,您可以根据需要进行转换。