前言

在学习Scrapy爬虫的过程中,发现需要总结一些东西来避免自己遗忘。这是咸鱼的第19篇原创。

requests小结

requestse基本使用

关于requests基本使用方法参照中文版参考文档: http://docs.python-requests.org/zh_CN/latest/index.html

response.text 和response.content的区别

response.text

类型:str

解码类型: 根据HTTP 头部对响应的编码作出有根据的推测,推测的文本编码

如何修改编码方式:response.encoding=”gbk”

response.content

类型:bytes

解码类型:没有指定

如何修改编码方式:response.content.deocde(“utf8”)

更推荐使用response.content.deocde()的方式获取响应的html页面

复制代码

requests使用代理

requests.get("http://www.baidu.com", proxies = proxies)

proxies = {

"http": "http://12.34.56.79:9527",

"https": "https://12.34.56.79:9527",

}

复制代码

代理的基本原理

代理的基本原理

正向代理与反向代理

正向代理:浏览器明确知道要访问的是什么服务器,只不过目前无法达到,需要通过代理来帮助完成这个请求操作。

反向代理:浏览器不知道任何关于要请求的服务器的信息,需要通过Nginx请求。

requests模拟登录的3种方法

实例化session,使用session发送post/get请求登录后的页面

session = requests.session()

response = session.get(url,headers)

复制代码

在headers中添加cookie键,值为cookie字符串

在请求方法中添加cookie参数,接收字典形式的cookie

cookie和session区别

cookie数据存放在客户的浏览器上,session数据放在服务器上

cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗

session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能

单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie

requests的几个小技巧(我认为的)

#把cookie对象转化为字典

reqeusts.util.dict_from_cookiejar

#把字典转化为cookie对象

reqeusts.util.cookiejar_from_dict

#url解码

reqeusts.util.unquote()

#url编码

reqeusts.util.quote()

#忽略SSL证书验证

response = requests.get("https://www.12306.cn/mormhweb/ ", verify=False)

#请求https的网站忽略SSL证书验证之后还是会出现警告信息,在请求前加上下面这句就可以禁用安全请求警告

#InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings InsecureRequestWarning)

requests.packages.urllib3.disable_warnings()

复制代码

json小结

json的基本使用

json.loads() #json字符串转化为python数据类型

json.dumps() #python数据类型转化为json字符串

json.load() #包含json的类文件对象转化为python数据类型

json.dump() #python数据类型转化为包含json的类文件对象

复制代码

什么是类文件对象?

具有read()或者write()方法的对象就是类文件对象,f =open(‘a.txt’,‘r’) f就是类文件对象

如何优雅的查看json?

json文件出现中文乱码:ensure_ascii=False json、字典格式化输出: indent=2 json格式化打印: 使用pprint使用前需要pip install pprint安装

pprint效果图

更多精彩文章关注微信公众号【python社区营】

python json解析 超过对象_Python | 关于Requests与Json的使用小结相关推荐

  1. python json解析 超过对象_json序列化数据超出最大值(maxJsonLength)

    标签: 1.序列化: 以下代码在对象过大时会报错:进行序列化或反序列化时出错.字符串的长度超过了为 maxJsonLength 属性设置的值. //jsonObj比较大的时候会报错 var seria ...

  2. python为什么要实例化对象_python:类的定义、实例化对象

    定义:类的定义使用关键字 ,class 关键字: 封装:类可以把各种对象组织在一起,作为类的属性,通过 . (点)运算符来调用类中封装好的对象 属性:变量在类中称为属性,但是类中的属性不仅仅只包含变量 ...

  3. python的类和对象_Python类与对象实验

    一.任务描述 本实验任务主要对Python类与对象进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python类与对象的关系,并对Python类与对象的基本操作进行整理并填写工作任务报告. 二. ...

  4. python的类和对象_Python面向对象之类和对象实例详解

    本文实例讲述了Python面向对象之类和对象.分享给大家供大家参考,具体如下: 类和对象(1) 对象是什么? 对象=属性(静态)+方法(动态): 属性一般是一个个变量:方法是一个个函数: #类的属性 ...

  5. Gson:GitHub 标星 18K 的 JSON 解析器,Google 出品的 Java JSON 解析器,强烈推荐!

    01.前世今生 我叫 Gson,是一款开源的 Java 库,主要用途为序列化 Java 对象为 JSON 字符串,或反序列化 JSON 字符串成 Java 对象.从我的名字上,就可以看得出一些端倪,我 ...

  6. json解析适配模板_认识适配器:JSON绑定概述系列

    json解析适配模板 适配器通过实现JsonbAdapter接口来配置自定义对象的创建和序列化. 方法AdaptToJson()和AdaptFromJson()被执行序列化和反序列化操作的逻辑覆盖. ...

  7. JSON 解析,一款高颜值的 JSON 数据解析查看工具

    JSON 解析 一款高颜值的 JSON 数据解析查看工具,无需网络加载,本地即可运行,支持Object和Array两种数据格式,可以方便查看JSON数据. Git 地址:https://github. ...

  8. python get方法列表参数_python中requests库get方法带参数请求

    起因是想爬五等分的花嫁的漫画.这是其中的一个坑 先上代码 data={ 'cid':567464, 'page':, 'key':'', 'language':1, 'gtk':6, '_cid':5 ...

  9. python爬虫解析数据包_Python网络爬虫之三种数据解析方式

    引入 回顾requests实现数据爬取的流程 指定url 基于requests模块发起请求 获取响应对象中的数据 进行持久化存储 其实,在上述流程中还需要较为重要的一步,就是在持久化存储之前需要进行指 ...

  10. python模块的使用方法_python中requests模块的使用方法

    本文实例讲述了python中requests模块的使用方法.分享给大家供大家参考.具体分析如下: 在HTTP相关处理中使用python是不必要的麻烦,这包括urllib2模块以巨大的复杂性代价获取综合 ...

最新文章

  1. 一分钟详解鱼眼镜头标定基本原理及实现
  2. opengl地球贴纹理_一文看懂材质/纹理 Material, Texture, Shading, Shader 的区别
  3. 特征对齐的旋转目标检测:Align Deep Features for Oriented Object Detection
  4. [转]用C/C++扩展PHP详解
  5. ThreadPoolExecutor源码学习(2)-- 在thrift中的应用
  6. “.NET研究”谈谈C# 4.0新特性“缺省参数”的实现
  7. 函数头文件php_PHP 7.4 的 FFI 将支持更好地在 PHP 中使用 C 函数/数据结构
  8. shell编程规范与变量2
  9. 怎么在不重启tomcat服务器的情况下更新修改过的后台代码,修改类不用重启Tomcat加载整个项目...
  10. 双击桌面计算机打不开硬盘,双击硬盘盘符打不开只能右键打开的解决方法 -电脑资料...
  11. 从零搭建Nginx+Tomcat动静分离web服务器 奶奶级超细教程
  12. AI红包皮速领,人类现金速抽|祝大家新春快乐
  13. vs 2010 sp1 中文版 安装sliverlight 5 正式版
  14. html 鼠标悬停批注,HTML 页面添加批注
  15. 自制万能xp镜像让重做系统变得简单
  16. WPF自学手册-读书笔记(一)
  17. dw如何制作图片自动切换效果_dw怎么用css做图片轮播
  18. 有向图的强连通分量——最大半联通子图
  19. JDBC连接Sql_Server_2005
  20. 反对996,吐槽996,但出路在哪里?

热门文章

  1. 一些自己使用VS2015的心得
  2. 目标检测回归损失函数总结
  3. RGPNET: A real-time general purpose semantic segmentation(复杂环境下实时通用语义分割网络)
  4. 字符串格式连接sqlserver数据库的字段概念解释
  5. [学习笔记]中国剩余定理
  6. idea导入本地idea的web项目(服务器用的是tomcat)
  7. Interactive Data Display如何显示菜单?
  8. 前端小知识-html5
  9. Struts2(三)
  10. weekend110(Hadoop)的 第七天笔记