Python教程 | Requests的基本用法
下面我就给大家整理了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的基本用法的更多相关文章
- Python之Requests的高级用法
# 高级用法 本篇文档涵盖了Requests的一些更加高级的特性. ## 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个Session实例发出的所有请求之间保持cookies. 会话对象 ...
- python爬虫---requests库的用法
requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多 因为是第三方库,所以使用前需要cmd安装 pip install requests 安装完成后import一下 ...
- (转)Python爬虫利器一之Requests库的用法
官方文档 以下内容大多来自于官方文档,本文进行了一些修改和总结.要了解更多可以参考 官方文档 安装 利用 pip 安装 $ pip install requests 或者利用 easy_install ...
- Python爬虫利器一之Requests库的用法
前言 之前我们用了 urllib 库,这个作为入门的工具还是不错的,对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助.入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取.那么这一节来 ...
- python的requests用法详解
Requests是一个Python语言写的http相关设置或者请求的一个库 安装:pip install Requests或者pip3 install requests 使用的时候要import re ...
- python的扩展包requests的高级用法
Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作,甚至包括各种方法覆盖,来完成最 ...
- 学以致用:Python爬取廖大Python教程制作pdf
当我学了廖大的Python教程后,感觉总得做点什么,正好自己想随时查阅,于是就开始有了制作PDF这个想法. 想要把教程变成PDF有三步: 先生成空html,爬取每一篇教程放进一个新生成的div,这样就 ...
- 对比3种接口测试的工具:jmeter+ant;postman;python的requests+unittest或requests+excel
这篇随笔主要是对比下笔者接触过的3种接口测试工具,从实际使用的角度来分析下3种工具各自的特点 分别为:jmeter.postman.python的requests+unittest或requests+ ...
- 《简明python教程》笔记一
读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info 安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...
随机推荐
- java核心技术第三篇之JDBC第一篇
01.JDBC_两个重要的概念: 1).什么是数据库驱动程序:由数据库厂商提供,面向某种特定的编程语言所开发的一套访问本数据库的类库. 驱动包一般由两种语言组成,前端是:面向某种特定编程语言的语言:后 ...
- media适配css
/*引入适配的less*/ html { font-size: 16px; } @media only screen and (min-width: 320px) { html { font-size ...
- 阿里云CDN接入踩坑记录
最近负责的系统安全要求接入CDN,避免DDOS之类攻击,然后华丽丽踩了两个大坑.回顾问题原因后,发现还是相关人员都对CDN原理不够熟悉.了解导致. 坑一:默认支持的文件上传最大是300M 问题现象: ...
- Dynamics 365中计算字段与Now进行计算实体导入报错:You can't use Now(), which is of type DateTime, with the current function.
微软动态CRM专家罗勇 ,回复338或者20190521可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me. 计算字段是从Dynamics CRM 2015 SP1版本开始推 ...
- CocoPods原理
CocoaPods 的原理是将所有的依赖库都放到另一个名为Pods的项目中, 然而让住项目依赖Pods项目, 这样,源码管理工作任务从主项目移到了Pods项目中. 1.Pods项目最终会编译成一个名为 ...
- Linux—添加开机启动(服务/脚本)
系统启动时需要加载的配置文件 /etc/profile./root/.bash_profile/etc/bashrc./root/.bashrc/etc/profile.d/*.sh./etc/pro ...
- sql 合并结果集数据
起因:项目上查询一些数据,需要将查询后的结果合并到一列中. 1.STUFF函数 官方api: https://docs.microsoft.com/zh-cn/sql/t-sql/functions/ ...
- Java代理类Proxy的用法
代理(proxy) 利用代理可以在运行时创建一个实现了一组给定接口的新类.这种功能只有在编译时无法确定需要实现哪个接口时才有必要使用. 何时使用代理 假设有一个表示接口的Class对象(有可能只包含一 ...
- XML与DataTable相互转换
1.DataTable转XML #region DataTableToXml /// <summary> /// 将DataTable对象转换成XML字符串 /// </summar ...
- vue数据更改视图不更新问题----深入响应式原理
Vue响应式原理之官方解释 当你把一个普通的JavaScript对象传给Vue实例的data选项,Vue将遍历此对象所有的属性,并使用Object.defineProperty把这些属性全部转为get ...