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

来查看响应头

原文地址:https://www.cnblogs.com/goforwards/p/8969972.html

时间: 2024-10-09 18:12:24

requests库的学习——跟随官方文档的相关文章

强大的网页解析库,Beautiful Soup官方文档

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间. 阅读地址:http://beautifulsoup.readthedocs.org/en/latest/

学习android 官方文档

9.29 1. 今天,FQ,看到android studio中文网上有一个FQ工具openVPN,我就使用了. 之前用过一个FQ工具开眼,但由于网速慢,我就弃用了. 2. 现在,我就可以FQ去android 官方网页,认真研究android的开发 为什么要上android的官网.是因为我除了会用,也要了解开发者们对于android里面的api.组件等等,到底有什么定义和使用,这个可以让我之前的实践认识通过对比得以升华. 3. 我首先看了android delevop 的 training内容,重

MySQL学习 --来自官方文档的翻译

通用知识: 1.mysql>source path; path:要执行的sql路径 学会使用help content;里面会有详细的说明和例子 第一篇 字符集 1.基础知识 级别:服务器.数据库.表.属性 character set和collations 的区别 字符集:一组符号和其编码的集合 排序规则:符合编码的比较规则,最简单的比较规则是二进制排序规则. MySQL可以做的事情: 使用大量的字符集和排序规则组合来表示字符串,其应用水平可以在数据库.表.属性等级别. 然而要想知道如何高效利用M

iOS 英语学习 翻译官方文档--不定时更新。

1, About Text Handling in iOS The iOS platform gives you many ways to display text in your apps and let users edit that text. It also lets you display formatted text and web content in your app’s views. The resources at your disposal range fromframew

Spring 4 官方文档学习(十一)Web MVC 框架之配置Spring MVC

在前面的文档中讲解了Spring MVC的特殊beans,以及DispatcherServlet使用的默认实现.在本部分,你会学习两种额外的方式来配置Spring MVC.分别是:MVC Java config 和  MVC XML namespace. 原文: Section 22.2.1, "Special Bean Types In the WebApplicationContext" and Section 22.2.2, "Default DispatcherSer

Jinja2学习笔记暨官方文档的翻译

http://blog.csdn.net/lgg201/article/details/4647471 呵呵, 刚刚看完Python模板引擎Jinja2的文档, 感觉很好, 觉得动态语言真是很好.  模板引擎竟然可以做的如此灵活....真是不错.... 下面直接把看文档过程的笔记发布出来, 呵呵, 基本上就是翻译, 加了不多的一点自己的解释......希望可以帮到大家 补充: 1. 在模板中设置自定义变量: {% set variable_name = value %} 比如设置{% set u

Django 2.0官方文档中文 渣翻 总索引(个人学习,欢迎指正)

Django 2.0官方文档中文 渣翻 总索引(个人学习,欢迎指正) 置顶 2017年12月08日 11:19:11 阅读数:20277 官方原文: https://docs.djangoproject.com/en/2.0/ 当前翻译版本: v2.0 Python版本要求: v3.4+ (译者注:本人目前在南京一家互联网公司工作,职位是测试开发工程师.因为测试工作中经常会用到编码语言,如Python.Java.Shell等,所以几年前萌生了对Python语法的学习.Django作为Python

学习使用Volley的多种基本功能-来自官方文档

官方文档地址:https://developer.android.com/training/volley/requestqueue.html 之前一直没看到这个,原来官方已经正式有关于Volley的文档了,而且这是被建议使用的Network库. 因为之前有写过简单的Volley请求怎么写,下面介绍的都是我之前不知道的用法: 1.先上代码: 1 Cache cache = new DiskBasedCache(getCacheDir(),1024*1024); 2 Network network

Spring 4 官方文档学习(十二)View技术

1.介绍 Spring 有很多优越的地方,其中一个就是将view技术与MVC框架的其他部分相隔离.例如,在JSP存在的情况下使用Groovy Markup Templates 还是使用Thymeleaf,仅仅是一个配置问题. 本章覆盖了主要的view技术,嗯嗯,可以与Spring结合的那些,并简明的说明了如何增加新的view技术. 本章假定你已经熟悉了Spring 4 官方文档学习(十一)Web MVC 框架之resolving views 解析视图 -- 它覆盖了views如何耦合到MVC框架