第十篇 requests模块
1.安装requests
要安装requests,在终端中输入以下命令即可安装:
1 pip3 install requests
2.发送请求
使用requests发送请求首先需要导入requests模块,然后发送get请求到网站:
1 import requests 2 3 r = requests.get("http://www.baidu.com")
发送其他类型的请求:
1 import requests 2 3 r = requests.post("http://www.xxx.com", data={"key": "value"}) 4 r = requests.put("http://www.xxx.com/method", data={"key": "value"}) 5 r = requests.delete("http://www.xxx.com/delete") 6 r = requests.head("http://www.xxx.com/get") 7 r = requests.options("http://www.xxx.com/get")
3.传递URL参数
如果希望为URL的查询字符串传递数据,Python提供了支持,数据会议键/值对的形式置于URL中,跟在一个问号后面。
1 import requests 2 3 r = requests.get("http://www.baidu.com/s", params={"wd": "Python"}) 4 5 print(r.url) 6 7 -------输出结果--------- 8 http://www.baidu.com/s?wd=Python
4.状态码
从请求的响应中获取状态码,状态码会展示请求的状态。
如,状态码为200 OK表示请求成功,404 NOT FOUND表示找不到资源,可以通过response对象的.status_code查看返回的状态码:
1 In [1]: import requests 2 3 In [2]: r = requests.get("http://www.baidu.com") 4 5 In [3]: r.status_code 6 Out[3]: 200
4.获取响应内容
我们可以读取服务器响应的内容。
1 import requests 2 3 r = requests.get("http://www.baidu.com") 4 r.encoding = "utf-8" 5 print(r.text)
说明:r.text返回的是Unicode格式,通常需要转换为utf-8,不然的话,会是乱码,通过使用r.encoding='utf-8',可以避免乱码的问题。
5.获取二进制响应内容
1 import requests 2 3 r = requests.get("http://www.baidu.com") 4 print(r.content) 5 print(r.content.decode("utf-8"))
r.content获取二进制数据,可以用来下载视频,图片之类,如果想要看的话,可以使用r.content.decode()解码。
6.获取JSON格式内容
1 import requests 2 3 r = requests.get("http://www.xxx.com") 4 print(r.json())
使用r.json处理json数据。
7.定制请求头
当我们使用如下方式访问知乎时,是无法访问的,需要添加headers信息。
1 r = requests.get("https://www.zhihu.com") 2 r.encoding = "utf-8" 3 print(r.text.encode("gbk", "ignore").decode("gbk")) 4 5 ------输出结果------ 6 <html> 7 <head><title>400 Bad Request</title></head> 8 <body bgcolor="white"> 9 <center><h1>400 Bad Request</h1></center> 10 <hr><center>openresty</center> 11 </body> 12 </html>
想要访问就必须添加headers信息:
1 import requests 2 3 headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"} 4 r = requests.get("https://www.zhihu.com", headers=headers) 5 6 r.encoding = "utf-8" 7 print(r.text.encode("gbk", "ignore").decode("gbk"))
8.发送post请求
1 import requests 2 3 data = { 4 "name": "zhangsan", 5 "age": "28" 6 } 7 8 r = requests.post("http://httpbin.org/post", data=data) 9 10 print(r.text)
9.响应
1 # -*- coding:utf-8 -*- 2 import requests 3 4 r = requests.get("http://www.baidu.com") 5 # 输出请求页面的状态码 6 print(r.status_code) 7 # 输出请求页面的所有请求头信息 8 print(r.headers) 9 # 输出请求的cookies信息 10 print(r.cookies) 11 # 输出请求的地址 12 print(r.url) 13 # 打印请求的历史记录 14 print(r.history)
转载于:https://www.cnblogs.com/zhuzhaoli/p/10368396.html
第十篇 requests模块相关推荐
- Python之路(第二十篇) subprocess模块
一.subprocess模块 subprocess英文意思:子进程 那什么是进程呢? (一)关于进程的相关理论基础知识 进程是对正在运行程序的一个抽象,进程的概念起源于操作系统,是操作系统最核心的概念 ...
- 第二十六篇 request模块使用
心得:requests模块还是比较好用的,运用起来简单,而且结合python,爬取网页数据,那简直分分钟的事情. requests请求一般分为两种请求方式: 1 get请求:一般用来请求数据,获取数据 ...
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十:SDRAM模块③ — 页读写 α...
实验二十:SDRAM模块③ - 页读写 α 完成单字读写与多字读写以后,接下来我们要实验页读写.丑话当前,实验二十的页读写只是实验性质的东西,其中不存在任何实用价值,笔者希望读者可以把它当成页读写的热 ...
- Pycharm中导入requests模块详解
这篇文章主要介绍了教你如何在Pycharm中导入requests模块,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 1.找到python的安装路径: 如果忘 ...
- 十篇文章速览多模态推荐系统的最新进展
本文约3900字,建议阅读7分钟 本文介绍了十篇文章取得更好的模型效果. 为了缓解推荐系统中存在的数据稀疏以及冷启动等问题,部分研究者尝试将多模态信息引入推荐系统中,使模型在训练过程中得到更好的用户和 ...
- python requests模块_Python 爬虫教程 requests 模块
经过 前边文章<简单Python爬虫教程 (一)>.简单Python爬虫教程 (二)两篇文章的学习,能写一些比较简单的爬虫了,但是还不够,这一篇文章主要介绍Requests模块,reque ...
- 爬虫学习笔记(三)requests模块使用
前面在说爬虫原理的时候说了,就写代码自动化的获取数据,保存下来数据,那怎么写代码来请求一个网址,获取结果呢,就得用requests模块了. 这篇博客说一下requests模块的使用,requests模 ...
- python requests 示例_Python Requests模块的简单示例
这篇文章主要为大家详细介绍了Python Requests模块的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...
- 在python中requests模块怎么安装_Python requests模块在Windows下安装
发现一个爬虫库太方便了,而且支持python3! 安装方法在http://docs.python-requests.org/en/latest/user/install/#install很详细 只不过 ...
- Python接口自动化-requests模块之post请求
------·今天距2021年262天·------ 这是ITester软件测试小栈第111次推文 在上一篇Python接口自动化测试系列文章:Python接口自动化-requests模块之get请求 ...
最新文章
- pytorch神经网络之卷积层与全连接层参数的设置
- 操作系统的进程调度简析
- python处理3000个excel-Python处理Excel数据的坑,一文让你不用重复犯错
- 查看自己电脑可以支持的最大内存量
- 两种选择排序算法:简单选择排序、堆排序
- POJ-2155 Matrix 二维线段树 | 树状数组
- java文本库,自定义文本库
- 【数学建模】聚类分析(评价与决策)
- openssl生成https证书 (转)
- Win7下的使用QTP进行猴子测试的性能日志实现方法
- 2020年国内电影总票房突破100亿元
- 最简单的SpringMVC + Maven配置
- android 源码打patch
- Android简单实现本地图片和视频选择器功能
- 斐讯路由器宽带运营商服务器,斐讯K2路由器的连接及上网设置教程
- vue回到顶部(常用)
- RAM Parity 和 RAM ECC
- 搭载专业游戏芯片,这款百元真无线耳机很强吗?开箱实测一番
- 如何判断测试项目是否需要高频交直流电流探头
- 空间解析几何 | 空间曲线与平面 几何量推导