如何使用Python登录网页并检索cookie以供日后使用?

问题:

我想使用python下载和解析网页,但要访问它,我需要几个cookie设置。因此,我需要首先登录https到网页。登录时间涉及向/login.php发送两个POST参数(用户名,密码)。在登录请求期间,我想从响应头中检索cookie并存储它们,以便我们可以在请求中使用它们来下载/data.php网页。
如何在python(最好2.6)?如果可能,我只想使用内置模块。

回答:

import urllib, urllib2, cookielib

username = 'myuser'
password = 'mypassword'

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'username' : username, 'j_password' : password})
opener.open('http://www.example.com/login.php', login_data)
resp = opener.open('http://www.example.com/hiddenpage.php')
print resp.read()

 resp.read()是您要打开的页面的直接HTML,您可以使用opener使用会话Cookie查看任何页面。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to use Python to login to a webpage and retrieve cookies for later usage?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

14 − 7 =