如何使用 Python 登录网页并检索 cookie 以供日后使用?
- 2025-01-08 08:49:00
- admin 原创
- 165
问题描述:
我想使用 python 下载和解析网页,但要访问它,我需要设置几个 cookie。因此,我需要先通过 https 登录到网页。登录时需要向 /login.php 发送两个 POST 参数(用户名、密码)。在登录请求期间,我想从响应标头中检索 cookie 并存储它们,以便在请求中使用它们来下载网页 /data.php。
我如何在 Python (最好是 2.6) 中执行此操作?如果可能的话,我只想使用内置模块。
解决方案 1:
这是一个使用优秀请求库的版本:
from requests import session
payload = {
'action': 'login',
'username': USERNAME,
'password': PASSWORD
}
with session() as c:
c.post('http://example.com/login.php', data=payload)
response = c.get('http://example.com/protected_page.php')
print(response.headers)
print(response.text)
解决方案 2:
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 查看任何页面。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD