requests中的session模块思路:
# 1. 登录 --> 等到cookie#
2.带着cookie 请求到书架的url-->书架上的内容#

注意:
# 两个操作要连续起来操作
# 我们可以用session进行请求-->session可以连续进行对话,而且我们得到的cookie不会丢失

import requests    #第一步:导入模块

#session : 对话    
session = requests.session()  #第二步:建立会话
data = {              #第四步:从浏览器抓包工具中找到data(用户名密码)
"loginName": "juakn1350",
"password": "abc123456"
}

# 1.登录
url = "https://passport.17k.com/ck/user/login"  #第三步:打开网页
session.post(url, data=data)            #第五步:登录。session:这是我们建立会话的函数, post登录。
#登录成功后下面这两个操作,是没问题的
# print(requ.text) #查看session.po st(url, data=data)是否有响应
# print(requ.cookies) #查看cookie

# 2.拿书架上的数据
# 刚才的session有cookie,所以这次登录我们直接使用session。(不能直接用get登录,get是从新请求,没有cookie的数据,
#                                我们需要在get前面加session函数: session.get)

requ = session.get("https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919") 

 
#第六步:在抓包工具中找到我们的包,然后把链接放到这个请求上来。
(这是对网页源代码没有的数据,二次请求的数据处理方式:如下图:)

#第八步(可无):乱码解决方法

#content中间存的是字节码,而text中存的是Beautifulsoup根据猜测的编码方式将content内容编码成字符串。
#当我们编码是中文类型(GBK,GB2312等),有时我们直接用text进行解码有时会发生乱码,这是我们需要用字节码的解码函数content.decode('utf-8')

result = requ.content.decode('utf-8') #中文乱码,指定解码

#第七步:输出数据

print(result)

需要登陆,请求数据 session的更多相关文章

  1. session失效,使用ajax请求数据被拦截,此时正常的处理逻辑是跳到登录界面,而不是界面没有变化(java推断是否是ajax请求)

    在登录过滤器中.推断请求是ajax请求还是超链接或者地址栏变化的请求 if (httpServletReq.getHeader("x-requested-with") != nul ...

  2. AppScan漏洞“已解密的登陆请求”修复解决方案

    最近在修复系统漏洞时,使用新版AppScan扫描IIS站点(WebForm)出现一个严重漏洞“已解密的登陆请求”. 扫描工具修复的建议为在登陆界面不使用含“password”类型的控件或加密录入参数. ...

  3. firebug登陆之数据包分析

    登陆之数据包分析 工具: python-urllib2   |  firefox+firebug或者chrome,用浏览器打开登陆页面之后,按F12键会默认打开开发者工具或者启动firebug,点击n ...

  4. Struts2.0 封装请求数据和拦截器介绍

    1. Struts2 框架中使用 Servlet 的 API 来操作数据 1.1 完全解耦合的方式 Struts2 框架中提供了一个 ActionContext 类,该类中提供了一些方法: stati ...

  5. iOS 绕过https证书验证 请求数据

    HTTPS和HTTP: 1.https协议需要到ca申请证书,一般免费证书很少,需要交费. 2.http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议. 3.http ...

  6. Flask - 请求响应 | session | 闪现 | 请求扩展 | 中间件

    请求响应 flask的请求信息都在request里 flask的响应方式有四剑客,也可以自定义响应 请求相关信息 # request.method 提交的方法 # request.args get请求 ...

  7. 远程登陆与数据CP

    1 SSH登陆原理   SSH,Secure Shell,是一套协议标准,可以用来实现两台机器之间的安全登陆以及安全的数据传送,其保证数据安全的原理是非对称加密.   传统的对称加密方式使用的是一套密 ...

  8. SpringMVC 获得请求数据

    获得请求参数 客户端请求参数的格式是:name=value&name=value- - 服务器端要获得请求的参数,有时还需要进行数据的封装,SpringMVC可以接收如下类型的参数: 基本类型 ...

  9. 零基础学习java------29---------网络日志数据session案例,runtime(导出jar程序)

    一. 网络日志数据session案例 部分数据 数据中的字段分别为: 访客ip地址,访客访问时间,访客请求的url及协议,网站响应码,网站返回数据量,访客的referral url,访客的客户端操作系 ...

  10. react 高效高质量搭建后台系统 系列 —— 请求数据

    其他章节请看: react 高效高质量搭建后台系统 系列 请求数据 后续要做登录模块(主页),需要先和后端约定JSON数据格式,将 axios 进行封装,实现本地的数据模拟 mockjs. Tip:s ...

随机推荐

  1. Linu基础 文件IO(读写操作)

    前言 本章讨论普通文件的读写.读写效率.简单介绍文件描述符.IO效率.文件共享和原子操作.dup.文件映射.临时文件. 文件描述符 在Linux系统中,打开的文件是用一个整数来表示的,表示打开文件的整 ...

  2. 实践GoF的23种设计模式:命令模式

    摘要:命令模式可将请求转换为一个包含与请求相关的所有信息的对象, 它能将请求参数化.延迟执行.实现 Undo / Redo 操作等. 本文分享自华为云社区<[Go实现]实践GoF的23种设计模式 ...

  3. (11)go-micro微服务雪花算法

    目录 一 雪花算法介绍 二 雪花算法优缺点 三 雪花算法实现 四 最后 一 雪花算法介绍 雪花算法是推特开源的分布式ID生成算法,用于在不同的机器上生成唯一的ID的算法. 该算法生成一个64bit的数 ...

  4. LIS求解(包括优化)

    首先,让我来看看LIS问题 Description 一个数的序列 bi,当 b1 < b2 < ... < bS 的时候,我们称这个序列是上升的.对于给定的一个序列(a1,a2,.. ...

  5. ElasticSearch必知必会-进阶篇

    京东物流:康睿 姚再毅 李振 刘斌 王北永 说明:以下全部均基于elasticsearch8.1 版本 一.跨集群检索 - ccr 官网文档地址: https://www.elastic.co/gui ...

  6. SQL中常用函数操作

    --在SQL SERVER中批量替换字符串的方法 update [Table] set [Field] = REPLACE([Field],'被替换的原内容','要替换的内容') update HBb ...

  7. 複合語句塊——關於while循環的

    看這兩個小段代碼: /*code1.*/ index=0; while(index<10) sam = 10*index+2; printf("sam=%d\n",sam); ...

  8. cordova第三方插件的创建,修改以及调试指南---真机调试,浏览器调试

    cordova使用以及真机调试,浏览器调试 创建插件 点击参考此文-- 超详细手把手教你cordova开发使用指南+自定义插件 插件修改注意事项--很重要 每次对自己代码目录里面任何内容进行修改后 都 ...

  9. Mybatis数据库批量操作

    1:新增 首先,Mysql插入一条记录返回主键对Mybatis版本要求低,而批量插入返回带主键的,需要升级到3.3.1 以及以上的版本. ​ 1.1:Mysql 上图需要注意加入useGenerate ...

  10. 一次代码重构 JavaScript 图连通性判定

    简介 说重构其实就是整理了代码,第一次自己手写写的很丑,然后看了书上写的,虽然和书上的思路不同但是整理后几乎一样漂亮 效果 整体代码如下 class Node { AdjNodes = new Set ...