『python爬虫』12. 模拟登陆之cookie的使用(保姆级图文)

news2024/11/15 13:21:59

目录

    • session
    • 1. 模拟登陆取得cookie
    • 2. 在登录的情况下继续取得书架上的数据
    • 3. 在已经有cookie的情况下直接请求
    • 总结


欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中

session

  • session和我们之前用的request十分相似,区别在于他是一个连续状态的request,所以能保持爬虫连接的特性,比如说cookie的信息,这样我们就不需要像使用request时每次request都要带有cookie信息才能爬取到数据。
  • session和request的很多方法都是想通的。

1. 模拟登陆取得cookie

难点是找到登陆请求的url和请求的参数名称,这里的小说网隐藏了,但是之前找到过的登陆接口还是能用的,现在我也没办法在现在的网页中找到隐藏的接口,就利用老的接口演示一下模拟登陆和找接口的一般性做法。

  • 打开网页的登陆界面,clear所有网络抓包,登陆后在网络抓包中查看信息。
  • 之前老网站是有一个login的包,里面有登录请求url和参数

现在已知:

登录url 
https://passport.17k.com/ck/user/login
登录方法:post
登录账号密码参数
data = {
    "loginName": "你的账号",#帐号
    "password": "123456"#密码
}
import requests

# 会话
session = requests.session()#新建一个session对象
# 我们的登录信息
data = {
    "loginName": "188888881",#帐号
    "password": "123456"#密码
}
# 1. 登录
url = "https://passport.17k.com/ck/user/login"#登录接口rul
session.post(url, data=data)#模拟登陆
# print(session.text)
print(session.cookies)  # 查看cookie

在这里插入图片描述


2. 在登录的情况下继续取得书架上的数据

  • 找到书架数据的来源
    在这里插入图片描述
  • 找到我们的cookie和请求书架数据的url接口
    在这里插入图片描述

在这里插入图片描述
在原来的session基础上继续发送请求得到数据

import requests

# 会话
session = requests.session()#新建一个session对象
# 我们的登录信息
data = {
    "loginName": "188888881",#帐号
    "password": "123456"#密码
}
# 1. 登录
url = "https://passport.17k.com/ck/user/login"#登录接口rul
session.post(url, data=data)#模拟登陆
# print(session.text)
print(session.cookies)  # 查看cookie

# 2. 拿书架上的数据
# 刚才的那个session中是有cookie的
resp = session.get('https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919')

print(resp.json())

3. 在已经有cookie的情况下直接请求

黏贴cookic到我们的request请求头中
在这里插入图片描述
我下面的cookie不可以直接使用,我随便改动了几个数字的····大家用自己的cookie

import requests

resp = requests.get("https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919",
                    headers={
                        "Cookie": "GUID=b5e485c4-474b-4fe1-b4a1-60ffd83e6956; c_channel=0; c_csc=web; accessToken=avatarUrl%3Dhttps%253A%252F%252Fcdn.static.17k.com%252Fuser%252Favatar%252F05%252F05%252F79%252F100107905.jpg-88x88%253Fv%12345678%26id%3D100107905%26nickname%3D%25E4%25B9%1234567889mKjO569BI%26e%3D1695276947%26s%3D67a0a3bbb217a38d",
                    })
print(resp.text)

在这里插入图片描述


总结

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2023 mzh

Crated:2023-3-1

欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中
『未完待续』


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/498436.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AWS Lambda - 同步/异步调用,事件源,目标

Hello大家好,我们今天继续讨论AWS Lambda的内容。 同步调用 Lambda函数有三种调用方式。 第一种方式是同步调用。 当我们使用API、CLI以及API网关等调用函数时,就是同步调用。 当您同步调用函数时,Lambda会运行该函数并等待响应&#xff…

微服务---Redis入门篇-Redis的常见命令和客户端使用

Redis快速入门 Redis的常见命令和客户端使用 1.初识Redis Redis是一种键值型的NoSql数据库,这里有两个关键字: 键值型 NoSql 其中键值型,是指Redis中存储的数据都是以key、value对的形式存储,而value的形式多种多样&#xf…

易视腾iS-E5-NGH_3798MV100_MT7601_卡刷固件包_当贝纯净桌面

易视腾iS-E5-NGH_3798MV100_MT7601_卡刷固件包_当贝纯净桌面 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软件&#xff0…

单链表OJ题:LeetCode--206.反转链表

朋友们、伙计们,我们又见面了,今天给大家带来的是LeetCode中206题:反转链表 数 据 结 构:数据结构专栏 作 者:stackY、 C 语 言 :C语言专栏 LeetCode :LeetCode刷题训练营 LeetCod…

TiDB实战篇-数据库热点问题

形成热点的原因 主要是因为数据插入进去的时候是按顺序加数据的。 数据分裂以后还是在一个store上面,就会形成读写热点。 没有走索引全表扫描的情况。 定位热点 如果有热点,那么它的查询语句应该是比较多的,容易在这个地方找到对应的热点问…

Leetcode434. 字符串中的单词数

Every day a leetcode 题目来源:434. 字符串中的单词数 解法1:istringstream 我们知道,C默认通过空格(或回车)来分割字符串输入,即区分不同的字符串输入。 istringstream类用于执行C风格的串流的输入操…

Flowable入门

Flowable初体验 Flowable是什么 Flowable 是一个使用 Java 编写的轻量级业务流程引擎,常用于需要人工审批相关的业务,比如请假、报销、采购等业务。 为什么要使用工作流呢? 对于复杂的业务流程,通过数据库的状态字段难以控制和…

软考信管高级——质量管理

质量管理内容 质量保证QA(过程符合要求/过程改进) (1)按项目计划开展质量活动,使项目过程和产品符合质量要求,即按计划做质量; (2)提高项目干系人对项目将要满足质量要求的信心; (3)按过程改进计划进行过程改进&…

金兰组织 | 2023金兰解决方案集经营管理篇正式发布

为助力企业创新管理、提质增效,人大金仓携手金兰组织成员单位,于近期发布多项经营管理领域的联合解决方案,共享创新应用成果。 /人大金仓高级副总裁宋瑞/ 人大金仓高级副总裁宋瑞在致辞中表示:“联合解决方案创新是指通过把不同领…

利用谷歌云Pub/Sub 实现多任务并行分发处理方案

背景 目前老梁团队负责的Global Data Integration Platform每天有大量文件需要从来自不同地区的上游下载文件并进行处理后再发送到不同下游。老梁的数据集成平台集群有6个服务器节点,老梁希望所有机器的资源都能利用上,提升大量文件并行处理能力&#x…

C# Microsoft.ClearScript.V8脚本使用

1、ClearScript支持的功能和适用场景 微软的.net是非常强大和灵活的,除了C#体系脚本扩展,也支持其他流行的脚本扩展,Microsoft.ClearScript.V8就是一个.NET绑定到Google V8的脚本引擎。它允许.NET应用程序直接从JavaScript代码中调用函数&am…

Redis布隆过滤器的原理和应用场景,解决缓存穿透

目录 专栏导读一、布隆过滤器BloomFilter是什么二、布隆过滤器BloomFilter能干嘛?三、布隆过滤器使用场景1、解决缓存穿透问题2、黑名单3、网页爬虫对URL的去重,避免爬取相同的URL地址四、操作布隆过滤器BloomFilter1、使用布隆过滤器2、删除key3、判断是否存在五、代码实例1…

黑客开始使用双 DLL 侧载来逃避检测

一个名为“Dragon Breath”、“Golden Eye Dog”或“APT-Q-27”的 APT 黑客组织正在展示一种新趋势,即使用经典 DLL 旁加载技术的多种复杂变体来逃避检测。 这些攻击变体从一个初始向量开始,该向量利用一个干净的应用程序,最常见的是 Telegr…

vue_组件基础

单文件组件 Vue 单文件组件&#xff08;又名 *.vue 文件&#xff0c;缩写为 SFC&#xff09;是一种特殊的文件格式&#xff0c;它允许将 Vue 组件的模板、逻辑 与 样式封装在单个文件中 <template><h3>单文件组件</h3> </template><script> ex…

asp.net+c#操作系统课程在线教学平台

1&#xff0e;系统登录&#xff1a;系统登录是用户访问系统的路口&#xff0c;设计了系统登录界面&#xff0c;包括用户名、密码和验证码&#xff0c;然后对登录进来的用户判断身份信息&#xff0c;判断是管理员用户还是普通用户。 2&#xff0e;系统用户管理&#xff1a;不管是…

答疑解惑:开发者必须彻底搞懂的 SSL/TLS 协议

简介 本期答疑解惑将和大家一起认识SSL/TLS 协议。请尝试回答以下几个问题&#xff1a; 使用浏览器访问https网站和http网站有什么不同&#xff1f;SSL协议作用于网络模型的哪一层&#xff1f;你知道CSDN&#xff0c;博客园正在使用的是什么类型的SSL证书吗&#xff1f;SSL&a…

汇编实现LED循环点亮(延时子程序模板)

在单片机P2口外接8个发光二极管(低电平驱动)。试编写一个汇编程序&#xff0c;实现LED循环点亮功能:P2.0-P2.1-P2.2-P2.3-…-P2.7-P2.6-P25-…-P2.0的顺序&#xff0c;无限循环。要求采用软件延时方式控制闪烁时间间隔(约50ms)。 首先进行电路设计 电路原理图设计 利用 Prot…

php+vue影视电影视频点播推荐avxhe系统

影视推荐系统的主要使用者分为管理员和用户&#xff0c;实现功能包括管理员&#xff1a;首页、个人中心、用户管理、公告信息管理、电影分类管理、影视推荐管理、付费点播管理、点播信息管理、管理员管理、系统管理&#xff0c;用户&#xff1a;首页、个人中心、付费点播管理、…

数字化转型导师坚鹏:企业数字化领导力提升之道

企业数字化领导力提升之道 ——融合中西智慧&#xff0c;践行知行合一思想&#xff0c;实现知行果合一 课程背景&#xff1a; 很多企业存在以下问题&#xff1a; 不知道如何领导面临的数字化时代&#xff1f; 不清楚企业数字化领导力模型的内涵&#xff1f; 不知道如何…

开关电源基础02:基本开关电源拓扑(1)-BUCK拓扑

说在开头&#xff1a;关于海森堡的矩阵&#xff08;1&#xff09; 我们前面说了&#xff0c;海森堡和泡利到了哥本哈根跟着玻尔混&#xff0c;在哥本哈根海森堡感到了一种竞争的气氛&#xff1a;他在德国少年得志&#xff0c;是出了名的天才&#xff0c;现在突然发现身边的每一…