python中requests模拟登录的三种方式(携带cookie/session进行请求网站)

 更新时间:2020年11月17日 11:32:52   作者:蒋程扬  
这篇文章主要介绍了python中requests模拟登录的三种方式(携带cookie/session进行请求网站),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一,cookie和session的区别

cookie在客户的浏览器上,session存在服务器上
cookie是不安全的,且有失效时间
session是在cookie的基础上,服务端设置session时会向浏览器发送设置一个设置cookie的请求,这个cookie包括session的id当访问服务端时带上这个session_id就可以获取到用户保存在服务端对应的session

二,爬虫处理cookie和session

带上cookie和session的好处:
能够请求到登录后的界面 

带上cookie和session的弊端:
一个cookie和session往往和一个用户对应,访问太快容易被服务器检测出来爬虫 

不需要cookie的时候尽量不要用

三,处理session,cookie请求

1,cookie请求方式

1.1 直接使用浏览器抓包到的现有的cookie进行访问网站:
 放在header字典里面

header={
"User-Agent":"Mozilla/5.0 (X11; Ubuntu; Linu…) Gecko/20100101 Firefox/64.0",
"Cookie":"csrftoken=JfnuMOvgMGZTxtCjvgfZ…6246vb2; username=chengyangkj",
}
r=request.get(url,headers=header)

当然也可以在发送get请求时加上cookies的字典参数:

Cookie="csrftoken=JfnuMOvgMGZTxtCjvgfZ…6246vb2; username=chengyangkj"

但是接受的参数是字典类型的,这就需要我们适用字符串分割方法把cookie字符串转为字典形式:

Cookie="csrftoken=JfnuMOvgMGZTxtCjvgfZ…6246vb2; username=chengyangkj"
cookies={i.split("=")[1]:i.split("=")[1] for i in Cookie.split("; ")} 
#先使用for循环遍历Cookie以”; “(分号和空格)分开的列表 再分别获取i以等号分割的列表的[0] [1] 位置填入 字典键 和值的位置
r=request.get(url,headers=header,cookies=cookies)

适用于cookie过期时间比较长的网站

2.session请求方式
request提供了一个一个叫做session的类,来实现客户端和服务端的会话保持
 使用方法:
1.实例化一个session对象
2.让session发送get或post请求
3.再使用session访问只有登录之后才能访问的网站,这时候session会自动带上服务器保存在其中的信息进行访问

session=request.session() #实例化session对象
response=session.get(url,header) #使用session对象发送get请求 就能获取服务端设置的session对象

到此这篇关于python中requests模拟登录的三种方式(携带cookie/session进行请求网站)的文章就介绍到这了,更多相关python requests模拟登录 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python3利用venv配置虚拟环境及过程中的小问题小结

    python3利用venv配置虚拟环境及过程中的小问题小结

    这篇文章主要介绍了python3利用venv配置虚拟环境及过程中的小问题小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Python数据结构详细

    Python数据结构详细

    本文将详细讲解Python的数据结构,下面我们将讲解Python关于关于列表更多的内容以及del 语句和元组和序列等一些具体内容,需要的下伙伴可以参考一下
    2021-09-09
  • django orm模糊查询、正则匹配多个值方式

    django orm模糊查询、正则匹配多个值方式

    这篇文章主要介绍了django orm模糊查询、正则匹配多个值方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python 音频生成器的实现示例

    Python 音频生成器的实现示例

    这篇文章主要介绍了Python 音频生成器的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 三分钟内解决cfgrib的安装问题

    三分钟内解决cfgrib的安装问题

    这篇文章主要介绍了三分钟内解决cfgrib的安装问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python自定义函数的创建、调用和函数的参数详解

    Python自定义函数的创建、调用和函数的参数详解

    这篇文章主要介绍了Python自定义函数的创建、调用和函数的参数、变量作用域等常见问题,需要的朋友可以参考下
    2014-03-03
  • 深入浅析Pytorch中stack()方法

    深入浅析Pytorch中stack()方法

    这篇文章主要介绍了Pytorch中stack()方法的总结及理解,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • Python中的变量,参数和模块介绍

    Python中的变量,参数和模块介绍

    大家好,本篇文章主要讲的是Python中的变量,参数和模块介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • python利用TextBlob库实现轻松分析文本情感

    python利用TextBlob库实现轻松分析文本情感

    TextBlob是一个基于NLTK(Natural Language Toolkit)和Pattern库的Python库,它提供了一系列方便的接口和方法来处理文本数据,下面我们就来学习一下如何利用TextBlob库实现轻松分析文本情感吧
    2023-12-12
  • Python 中将秒转换为小时、分钟和秒的示例代码

    Python 中将秒转换为小时、分钟和秒的示例代码

    这篇文章主要介绍了在 Python 中将秒转换为小时、分钟和秒,本篇文章将讨论使用 Python 中的四种不同方法来使用、管理秒并将其转换为天、小时、分钟和秒,需要的朋友可以参考下
    2023-05-05

最新评论