python脚本根据cookies自动登录网站_Python爬虫连载6-cookie深入使用实例化实现自动登录...

news/2024/7/8 6:41:25

一、使用cookie登录

1.直接把cookie复制下去,然后手动放到请求头

2.http模块包含一些关于cookie的模块,通过他们我们可以自动使用cookie

(1)cookieJar

管理存储cookie,向传出的http请求添加cookie;cookie存储在内存中,CookieJar实例回收后cookie​将消失;

(2)FileCookieJar(filename,delayload=None,policy=Nnone)

使用文件管理cookie​;filename是保存cookie的文件

filename是保存cookie的文件

(3)MozillaCookieJar(filename,delayload=None,policy=None)

创建于mocilla浏览器cookie,txt兼容的FileCookieJar实例

(4)LwpCookieJar(filename,delayload-None,policy=None)

创建与libww-perl标准兼容的FileCookieJar实例

(5)​他们的关系是:CookieJar-->FileCookirJar-->MozillaCookieJar & LwpCookieJa

3.利用cookiejar访问人人网

自动使用cookie登录,​大致流程为:(1)打开登陆页面后自动通过用户名密码登录​;(2)自动提取反馈回来的cookie​;(3)利用提取的cookie登录隐私页面​;

4.handler是Handler的实例,常用参看案例代码

(1)用来处理复杂请求

#生成cookie的管理器

cookie_handler=request.HTTPCookieProcessor(cookie)#创建http请求管理器

http_handler=request.HTTPHandler()#生成https管理器

https_handler= request.HTTPHandler()

(2)创立handler后,使用opener打开,打开后相应的业务由相应的handler处理

(3)cookie作为一个变量,打印出来

cookie的属性​:

name:名称 value​:值 domain:可以访问此cookie的域名 expires:过期时间 size:大小 Http字段

from urllib importrequest,parsefrom http importcookiejar#创建cookiejar实例

cookie=cookiejar.CookieJar()#生成cookie的管理器

cookie_handler=request.HTTPCookieProcessor(cookie)#创建http请求管理器

http_handler=request.HTTPHandler()#生成https管理器

https_handler=request.HTTPHandler()#创建请求管理器

opener=request.build_opener(http_handler,https_handler,cookie_handler)

​deflogin():"""负责初次登录

需要输入用户名密码

:return:"""url= "http://www.renren.com/PLogin.do"data={"email":"1215217867@qq.com","password":"481648541615485"}#把数据进行编码

data=parse.urlencode(data)#创建一个请求对象

req= request.Request(url,data=data.encode())#使用opener发起请求

rep=opener.open(req)

​defgetHomePage():

url= "http://www.renren.com/965187997/profile"

#如果已经执行了login函数,则opener自动已经包含相应的cookie值

rsp=opener.open(url)

html=rsp.read().decode()

with open("rsp.html","w") as f:

f.write(html)

​if __name__ == "__main__":"""执行完login之后,会得到授权之后的cookie

我们尝试把cookie打印出来"""login()print(cookie)for item incookie:print(type(item))print(item)for i indir(item):print(i)

getHomePage()

1707435-20200210002315693-1104463438.jpg

1707435-20200210002329178-924374978.jpg

二、源码

Reptitle6_CookieJar.py

https://github.com/ruigege66/PythonReptile/blob/master/Reptitle6_CookieJar.py​

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

1707435-20200210002341314-462748252.jpg


http://www.niftyadmin.cn/n/548139.html

相关文章

angular.js 中同步视图和模型数据双向绑定,$watch $digest $apply 机制

Angular.js 中的特性,双向绑定. 让视图的改变直接反应到数据中,数据的改变又实时的通知到视图,如何做到的? 这要归功于 scope 下面3个重要的方法: $watch$digest$apply他们的区别是什么,我们来介绍下: $watch 这是一个监听 scope 上数据的监听器 方法说明: $scope.$watch(参数…

python根据excel生成报表_python生成每日报表数据(Excel)并邮件发送的实例

逻辑比较简单 ,直接上代码 定时发送直接使用了win服务器的定时任务来定时执行脚本 #coding:utf-8 from __future__ import division import pymssql,sys,datetime,xlwt import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIME…

富士相机设置传原图_【大象原创】富士微单最全的功能都在这儿啦

富士X-T4富士相机胶片模拟机内微调大象原创富士XT4开箱视频讲解大象原创富士XT4搭配16-55拍摄人像技巧大象原创富士XT4自定义按键的设置大象原创富士XT4传输原始图片的设置大象原创富士XT4搭配XF50-140 F2.8拍摄人像富士X-T4肩带安装方法大象原创富士XT4搭配80微距拍人像大象原…

MySQL主主、主从、从从配置文件

主配置文件: [rootsun01 ~]# more /etc/my.cnf [mysqld] datadir/var/lib/mysql socket/var/lib/mysql/mysql.sock usermysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links0 log-binmysqlbin server-id 1 #主机标…

python支持向量机回归_Python使用sklearn实现的各种回归算法示例

本文实例讲述了Python使用sklearn实现的各种回归算法。分享给大家供大家参考,具体如下: 使用sklearn做各种回归 基本回归:线性、决策树、SVM、KNN 集成方法:随机森林、Adaboost、GradientBoosting、Bagging、ExtraTrees 1. 数据准…

重大要素改变中的机会选择包括_种草莓通过IT技术实现,代码“魔法”改变了什么?...

你想象过通过代码控制、让草莓口感更佳、味道更好吗?在绝大多数人的印象中,代码都是高大上的,人工智能、物联网、大数据等背后皆是代码支撑。似乎很少有人想到,代码对农业的影响,是一场中国农业产业化进程的重大变革。…

maven安装以及eclipse配置maven

1下载maven的bin,在apache官方网站可以下载。2下载下来之后,解压,找个路径放进去, 把bin的位置设在环境变量里,新建环境变量MAVEN_HOME3在PATH里加入maven的bin的路径4由于Maven依赖Java运行环境,因此使用M…

python怎么用matplotlib_最简单的matplotlib安装教程(小白)

在网上看见许多matplotlib的安装教程都是比较复杂,需要配置许多环境,对于电脑基础不好的人来说可是一件头疼的事情,今天我介绍一个简单的安装方法。 1.WinR输入cmd进入到CMD窗口下,执行python -m pip install -U pip setuptools进…