下面我就给大家整理了Requests库的使用方法和细节。

什么是Requests

Requests是Python语言编写,基于urllib3,采用Apache2 Licensed开源协议的HTTP库。它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。是Python实现的简单易用的HTTP库。

安装也很简单:

pip install requests

Request的语法操作

1.实例引入

 

2.各种请求方式

 

请求

1.基本GET请求

 

2.带参数的GET请求这个我们前面有使用过,也是最常用的方法。运行成功就可以看到网页的源码了。

 

3.解析json传入参数只需要我们把数据生成一个字典,然后调用params参数,赋值给他就可以,是不是很方便。

 

可以看出Requests的jaon解析和json的loads方法解析出来的结果是完全一样的。所以Requests可以很方便的解析json数据。

4.获取二进制数据

 

运行成功我们可以看到content方法获取的图片页面源码是二进制数据,而text获取的则是字符串代码。显然获取图片这种二进制数据需要使用content方法。这样我们就保存了图片,我们可以在文件夹下看到这张图片。

5.添加headers

 

 

有些网页如果我们直接去请求的话,他会查看请求的对象是不是浏览器,如果没有浏览器信息就会禁止我们爬虫的访问,这个时候我们就要给爬虫加一个headers,加一个浏览器的user-agent信息。这样我们就可以正常访问了。如果有的伙伴不知道怎么得到User-Agent,可以打开浏览器的审查元素,找到network,随便点击一个链接就可以看到User-Agent的信息了。

6.基本POST请求

 

一个POST必然是要有一个Form Data的表单提交的,我们只要把信息传给data参数就可以了。一个POST请求只需要调用post方法,是不是特别方便呢。如果不觉得方便的话,可以去参考urllib的使用方法。

响应

1.response属性

 

2.状态码判断获取这些信息只需要简单的调用就可以实现了。

 

好了,这篇文章我们了解了Requests库的基本语法操作,相信大家对Requests库的请求和响应已经很清楚了,大家完全可以抓取一些网页了。

Python教程 | Requests的基本用法的更多相关文章

  1. Python之Requests的高级用法

    # 高级用法 本篇文档涵盖了Requests的一些更加高级的特性. ## 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个Session实例发出的所有请求之间保持cookies. 会话对象 ...

  2. python爬虫---requests库的用法

    requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多 因为是第三方库,所以使用前需要cmd安装 pip install requests 安装完成后import一下 ...

  3. (转)Python爬虫利器一之Requests库的用法

    官方文档 以下内容大多来自于官方文档,本文进行了一些修改和总结.要了解更多可以参考 官方文档 安装 利用 pip 安装 $ pip install requests 或者利用 easy_install ...

  4. Python爬虫利器一之Requests库的用法

    前言 之前我们用了 urllib 库,这个作为入门的工具还是不错的,对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助.入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取.那么这一节来 ...

  5. python的requests用法详解

    Requests是一个Python语言写的http相关设置或者请求的一个库 安装:pip install Requests或者pip3 install requests 使用的时候要import re ...

  6. python的扩展包requests的高级用法

    Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作,甚至包括各种方法覆盖,来完成最 ...

  7. 学以致用:Python爬取廖大Python教程制作pdf

    当我学了廖大的Python教程后,感觉总得做点什么,正好自己想随时查阅,于是就开始有了制作PDF这个想法. 想要把教程变成PDF有三步: 先生成空html,爬取每一篇教程放进一个新生成的div,这样就 ...

  8. 对比3种接口测试的工具:jmeter+ant;postman;python的requests+unittest或requests+excel

    这篇随笔主要是对比下笔者接触过的3种接口测试工具,从实际使用的角度来分析下3种工具各自的特点 分别为:jmeter.postman.python的requests+unittest或requests+ ...

  9. 《简明python教程》笔记一

    读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info  安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...

随机推荐

  1. HTTP:Web的基础

    一.HTTP:Web的基础 1.URI 每个Web服务器资源都有一个名字,这样客户端就可以说明它们感兴趣的资源是什么了.服务器资源名称被称为统一资源标识符(URI) URI有两种形式,分别为URL和U ...

  2. Web安全攻防笔记-SQL注入

    information_schema(MySQL5.0版本之后,MySQL数据库默认存放一个information_schema数据库) information_schema的三个表: SCHEMAT ...

  3. 【LeetCode】1056-易混淆数

    易混淆数 给定一个数字 N,当它满足以下条件的时候返回 true:把原数字旋转180°以后得到新的数字.如 0, 1, 6, 8, 9 旋转 180° 以后,得到了新的数字 0, 1, 9, 8, 6 ...

  4. Django2.0中基于正则表达式的路由机制(一)

    1.  在urls.py的文件中导入操作正则表达式的方法:(新版的Django是使用path方法对URL进行路由分配) from django.contrib import admin from dj ...

  5. 简单的shell脚本

    1.1每隔一秒向屏幕输出一个数字,并且每次加1. #/bin/bashfor((i=1;i<=100;i++)) do echo -en " $i\n"; sleep 1;d ...

  6. eclipse的“sun.misc.BASE64Encoder”问题解决

    新建一个AndroidHello工程,编译运行,出现问题如下: 编辑/Applications/Eclipse.app/Contents/Eclipse/eclipse.ini文件,加入 -vm /L ...

  7. spark-shell 中rdd常用方法

    centos 7.2     spark 2.3.3      scala 2.11.11    java 1.8.0_202-ea spark-shell中为scala语法格式 1.distinct ...

  8. Java基本数据类型转换一

    public class TestConvert { /**容量小的类型自动转化为容量大的类型数据类型按容量大小排列 * byte,short,char -> int ->long-> ...

  9. 【树状数组】2019徐州网络赛 query

    (2)首先成倍数对的数量是nlogn级别的,考虑每一对[xL,xR](下标的位置,xL < xR)会对那些询问做出贡献,如果qL <= xL && qR >= xR, ...

  10. NOIP2018普及组复赛游记

    2018年11月10日,NOIP2018普及组复赛. 这是我初中阶段最后一次复赛了. 和往常一样,我们在预定的早上7点,没有出发. 10分钟之后,人终于到齐了,于是出发了,一路无话. 到了南航,合照三 ...