在前一篇获取Cookies信息的基础之上:https://blog.csdn.net/lfy905805357/article/details/93520231
进一步可以利用Cookies登录豆瓣网页~
测试访问页面时是否处于登录状态,可以通过访问一个登录后才能访问的页面,例如涉及用户信息的页面,比如下图中登录
豆瓣之后才能访问的”我的豆瓣”
个人主页访问链接如下:https://www.douban.com/people/198456540/
不同用户此链接会有差异
一、源码
# -*- coding: utf-8 -*-
"""
Created on Mon Jun 24 20:32:31 2019
@author: UnderMask
"""
#利用Cookies信息登录豆瓣网
import requests
import http.cookiejar as cookielib
import random#随机添加/修改User-Agent
ualist = [#一些可用的浏览器名称
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1",
"Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6",
"Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6",
"Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5",
"Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",
"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",
"Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",
"Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",
"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",
"Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24",
"Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24" ]
session = requests.session()
session.cookies = cookielib.LWPCookieJar(filename='doubanCookies.txt')
url = 'https://www.douban.com/people/198456540/'#自己的个人主页
headers = {"Connection":"Keep-alive", "User-Agent":random.choice(ualist)}#随机添加/修改User-Agent
#从doubanCookies.txt文件中加载cookie信息
session.cookies.load()
#allow_redirects如果不设置,session访问时,服务器返回302,然后session会自动重定向到登录页面,获取到登录页面之后,变成200的状态码,设置为False就是不允许重定向
res = session.get(url, headers = headers, allow_redirects = False)
#判断status_code返回值是否为200,如果是则代表当前的cookie信息有效
if res.status_code == 200:
print('Cookies is login')
else:
print('Cookies is not login')#可能Cookies超过时间失效,换账号密码继续登录
data = {'name':'xxxxxxxxxxx', 'password':'xxxxxx'}#自己的账号密码
r = session.post(url, data = data, headers = headers)
print(r.status_code)
print('Account password is login')
二、运行效果
这样就可以通过Cookies进行网页登录操作~