requests库的学习——跟随官方文档
发送GET请求:
import requests
r=requests.get("http://www.kekenet.com/")
如果需要传递参数可以有以下几种方法:
import requests
r=requests.get("http://httpbin.org/get?key1=value1&key2=value2")
或者
payload = {'key1': 'value1', 'key2': 'value2'}
r=requests.get("https://httpbin.org/get",params=payload)
其中payload里面的值也可以是列表类型的,如
payload = {'key1': 'value1', 'key2': ['value2', 'value3']}
相当于访问url:https://httpbin.org/get?key1=value1&key2=value2&key2=value3
定制请求头:
headers={'user-agent': 'my-app/0.0.1'}
r=requests.get("https://api.github.com/some/endpoint",headers=headers)
读取内容:
如果是读取非文本数据,可以使用r.content来读取二进制数据
如果需要读取网页内容,可以使用r.text,Requests会基于Http头部进行对编码推测,并选择合适的解码方式。你可以使用r.encoding来查看编码方式,如果返回的网页内容出现了乱码,可以通过查看r.content的头部编码来修改r.encoding的值重新进行r.text的提取,这样就会得到正确的内容了。
r=requests.get("http://www.kekenet.com/")
print(r.text)#这里是乱码,
print(r.encoding)#可以查看出Requests推测的内容编码方式
r.encoding="UTF-8" #通过查看网页的编码方式来修改r.encoding
print(r.text)
处理json数据:
Requests内部有一个json解码器,能够帮你处理json数据
r=requests.get("https://api.github.com/events")
t=r.json()
发送POST请求:
发送post请求需要添加data,
data可以是dict类型,也可以是str类型,也可以是元祖类型
payload = (('key1', 'value1'), ('key1', 'value2'))
r = requests.post('https://httpbin.org/post', data=payload)
print(r.text)
响应状态码:
可以通过
r.status_code
来查看响应状态码;响应状态码是表示是否成功访问。一般正常是200
响应头:
可以通过
r.headers
来查看响应头
requests库的学习——跟随官方文档的更多相关文章
- 小白学习React官方文档看不懂怎么办?
最近在上React课程的时候,发现好多同学不会看文档,所以在这里写一篇文章,希望能给同学们一点点启发. 我们首先打开React官方网站——https://react.docschina.org/doc ...
- 学习android 官方文档
9.29 1. 今天,FQ,看到android studio中文网上有一个FQ工具openVPN,我就使用了. 之前用过一个FQ工具开眼,但由于网速慢,我就弃用了. 2. 现在,我就可以FQ去andr ...
- 小白学习React官方文档看不懂怎么办?2.JSX语法
接下来我们就要讲到JSX语法了,在我们讲它之前,我们先引入一个概念叫语法糖. 听到这个名字首先我们可能会想到一个词叫”糖衣炮弹“,那么什么叫糖衣炮弹呢,就是给你说各种好听的话,来迷惑你,但 ...
- 小白学习React官方文档看不懂怎么办?3.元素渲染
直接上代码 const element = <h1>Hello, world</h1>; ReactDOM.render( element, document ...
- Spring 4 官方文档学习(十一)Web MVC 框架之配置Spring MVC
内容列表: 启用MVC Java config 或 MVC XML namespace 修改已提供的配置 类型转换和格式化 校验 拦截器 内容协商 View Controllers View Reso ...
- Spring 4 官方文档学习(十一)Web MVC 框架
介绍Spring Web MVC 框架 Spring Web MVC的特性 其他MVC实现的可插拔性 DispatcherServlet 在WebApplicationContext中的特殊的bean ...
- Spring 4 官方文档学习 Spring与Java EE技术的集成
本部分覆盖了以下内容: Chapter 28, Remoting and web services using Spring -- 使用Spring进行远程和web服务 Chapter 29, Ent ...
- Spring 4 官方文档学习(十四)WebSocket支持
个人提示:如果需要用到页面推送,高频且要低延迟,WebSocket无疑是最佳选择.否则还是轮询和long polling吧. 做了一个小demo放在码云上,有兴趣的可以看一下,简单易懂:websock ...
- Spring 4 官方文档学习(十二)View技术
关键词:view technology.template.template engine.markup.内容较多,按需查用即可. 介绍 Thymeleaf Groovy Markup Template ...
随机推荐
- 选择提示框UIAlertController 和网络状态判断AFNetworking
// 选择提示框 DownloadView *vc = [[DownloadView alloc] initWithFrame:CGRectMake(, , SCREEN_WIDTH, SCREEN_ ...
- 使用top观察一进程的cpu历史占用情况
#!/bin/shtop -b -n 1 -p 1975| tail -3 >>process1975.log 搞了时间节点,做个定时任务什么的就ok了
- Zynq7000开发系列-3(Xilinx交叉编译环境搭建)
一.前言 上一篇文章说了,在开发之前必须先搭建起交叉编译环境,于是这里我们就介绍一下环境的搭建过程. 其实在所安装的Vivado HLx 2016.4中就包含了Xilinx SDK,在该SDK上即可开 ...
- ARP数据包
结构ether_header定义了以太网帧首部:结构arphdr定义了其后的5个字段,其信息用于在任何类型的介质上传送ARP请求和回答:ether_arp结构除了包含arphdr结构外,还包含源主机和 ...
- A.走方格
链接:https://ac.nowcoder.com/acm/contest/368/A 题意: 在一个n*n的方格中,你只能斜着走. 你还有一次上下左右走的机会 给你一个起点(sx,sy),和终点( ...
- 移动端REM布局模板(阿里高清方案)
移动端REM布局模板(阿里高清方案),蛮好的,转自: http://www.jianshu.com/p/985d26b40199 . <!DOCTYPE html> <html la ...
- net core 在docker(ubuntu)部署
1.vs新建项目并发布,然后copy到linux系统上,我这里是用的虚拟机. 2 Dockerfile文件配置 FROM microsoft/dotnet:2.1-aspnetcore-runtime ...
- C语言中的fprintf函数详解
fprintf 功能 传送格式化输出到一个文件中 用法 #include stdio.h int fprintf( FILE *stream, const char *format,...); f ...
- IOS小技巧整理
1 随机数的使用 头文件的引用 #import <time.h> #import <mach/mach_time.h> srandom()的使用 ...
- SPM-软件项目管理之感想
这学期开始选择选修课的时候是需要把每节课都过一遍的.当我上完SPM那节课的时候,我就已经决定要选这门课了,尽管还有其他的课我都还没上过.由于这节课是双语教学-中文老师兼外籍老师,这样的方式感觉很新颖, ...