返回顶部
首页 > 资讯 > 后端开发 > Python >python requests用法总结
  • 463
分享到

python requests用法总结

pythonrequests 2023-01-31 02:01:11 463人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

python requests用法总结requests是一个很实用的python Http客户端库,编写爬虫和测试服务器响应数据时经常会用到。可以说,Requests 完全满足如今网络的需求本文全部来源于官方文档:   http://doc

python requests用法总结


requests是一个很实用的python Http客户端库,编写爬虫测试服务器响应数据时经常会用到。可以说,Requests 完全满足如今网络的需求

本文全部来源于官方文档:

   http://docs.Python-requests.org/en/master/
   http://cn.python-requests.org/zh_CN/latest/ 

安装方式一般采用pip install requests。其它安装方式参考官方文档



导入模块: import requests

 

一、GET请求

r  = requests.get('http://httpbin.org/get')


传参

>>> payload = {'key1': 'value1', 'key2': 'value2', 'key3': None}

>>> r = requests.get('http://httpbin.org/get', params=payload)

 

http://httpbin.org/get?key2=value2&key1=value1

 

Note that any dictionary key whose value is None will not be added to the URL's query string.


参数也可以传递列表

>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('http://httpbin.org/get', params=payload)

>>> print(r.url)

http://httpbin.org/get?key1=value1&key2=value2&key2=value3



r.text        返回headers中的编码解析的结果,可以通过r.encoding = 'gbk'来变更解码方式

r.content     返回二进制结果

r.JSON()      返回jsON格式,可能抛出异常

r.status_code

r.raw         返回原始Socket respons,需要加参数stream=True


>>> r = requests.get('https://api.GitHub.com/events', stream=True)

>>> r.raw

<requests.packages.urllib3.response.HTTPResponse object at 0x101194810>


>>> r.raw.read(10)

'\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03'


将结果保存到文件,利用r.iter_content()

with open(filename, 'wb') as fd:

    for chunk in r.iter_content(chunk_size):

        fd.write(chunk)


传递headers

>>> headers = {'user-agent': 'my-app/0.0.1'}

>>> r = requests.get(url, headers=headers)


传递cookies

>>> url = 'http://httpbin.org/cookies'

>>> r = requests.get(url, cookies=dict(cookies_are='working'))

>>> r.text

'{"cookies": {"cookies_are": "working"}}'



二、POST请求


传递表单

r = requests.post('http://httpbin.org/post', data = {'key':'value'})

 

通常,你想要发送一些编码为表单形式的数据—非常像一个html表单。 要实现这个,只需简单地传递一个字典给 data 参数。你的数据字典在发出请求时会自动编码为表单形式:


>>> payload = {'key1': 'value1', 'key2': 'value2'}

>>> r = requests.post("http://httpbin.org/post", data=payload)

>>> print(r.text)

{

  ...

  "fORM": {

    "key2": "value2",

    "key1": "value1"

  },

  ...

}


很多时候你想要发送的数据并非编码为表单形式的。如果你传递一个 string 而不是一个dict ,那么数据会被直接发布出去。

>>> url = 'https://api.github.com/some/endpoint'

>>> payload = {'some': 'data'}

 

>>> r = requests.post(url, data=json.dumps(payload))


或者

>>> r = requests.post(url, json=payload)



传递文件

url = 'http://httpbin.org/post'

>>> files = {'file': open('report.xls', 'rb')}

>>> r = requests.post(url, files=files)


配置files,filename, content_type and headers

files = {'file': ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})}

files = {'file': ('report.csv', 'some,data,to,send\nanother,row,to,send\n')}


响应

r.status_code

r.heards

r.cookies


跳转

By default Requests will perform location redirection for all verbs except HEAD.

 

>>> r = requests.get('http://httpbin.org/cookies/set?k2=v2&k1=v1')

>>> r.url

'http://httpbin.org/cookies'


>>> r.status_code

200


>>> r.history

[<Response [302]>]



If you're using HEAD, you can enable redirection as well:

 

r = requests.head('http://httpbin.org/cookies/set?k2=v2&k1=v1',allow_redirects=True)

 

You can tell Requests to stop waiting for a response after a given number of seconds with the timeoutparameter:

requests.get('http://github.com', timeout=0.001)



参考文章:http://www.cnblogs.com/lilinwei340/p/6417689.html 


--结束END--

本文标题: python requests用法总结

本文链接: https://lsjlt.com/news/185651.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python requests用法总结
    python requests用法总结requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到。可以说,Requests 完全满足如今网络的需求本文全部来源于官方文档:   http://doc...
    99+
    2023-01-31
    python requests
  • python用法总结
    requests库的用法: requests是python实现的简单易用的HTTP库 因为是第三方库,所以使用前需要cmd安装 pip ×××tall requests 安装完成后import一下,正常则说明可以开始使用了 基本用法: im...
    99+
    2023-01-31
    python
  • Python requests库参数提交的注意事项总结
    字典与json字符串区别 # python 中的字典格式,是dict类型 {'a': 'sd'} 如果声明a = {"a": "sd"},它仍是字典,不过python会默认将双引...
    99+
    2024-04-02
  • Python Requests库知识汇总
    目录什么是Requests库?为什么要学习Requests库?快速开始发送请求URL传参响应内容二进制响应内容JSON响应内容原始响应内容自定义请求头更复杂的POST请求More c...
    99+
    2023-05-18
    Python Requests库 Python Requests
  • 【python】import的用法总结
    import用法总结 一、直接引入二、from 模块/包 import 模块/函数1.直接引入模块2.引入模块中的所有函数3.引入模块中的指定函数4.相对引用在B_2.py 中引用A.py 中...
    99+
    2023-09-02
    python 深度学习
  • python语法总结
    正确处理中文,可以在#!/usr/bin/python下面加上 一行# -*- coding: utf-8 -*-列表list。用方括号list1=[1,'2',3,[a,b,c]]尾部添加元素list1.append('python')l...
    99+
    2023-01-31
    语法 python
  • python requests 高级用法
    本篇文档涵盖了 Requests 的一些高级特性。 会话对象会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 urllib3 的 connection pooling...
    99+
    2023-01-31
    高级 python requests
  • Python super( )函数用法总结
    目录一、super( ) 的用途二、了解 super 的基础信息三、典型用法3.1 单继承问题3.2 单继承问题拓展3.3 重复调用问题3.4 super(type) 问题一、super( ) 的用途 了解 supe...
    99+
    2022-06-02
    Python super函数 python函数
  • Python list操作用法总结
    本文实例讲述了Python list操作用法。分享给大家供大家参考,具体如下: List是python中的基本数据结构之一,和Java中的ArrayList有些类似,支持动态的元素的增加。list还支持不同...
    99+
    2022-06-04
    操作 Python list
  • java调用python方法总结
    http://download.csdn.net/detail/xingjiarong/9429266 下载jython包,把其中的jython.jar添加到工程目录 一、在java类中直接执行python语句 import or...
    99+
    2023-01-31
    方法 java python
  • 总结Python常用的魔法方法
    目录一、算数运算符的魔法方法二、反运算相关的魔法方法三、增量赋值运算四、一元操作符一、算数运算符的魔法方法 python2.2以后,对类和类型进行了统一,做法就是讲int(...
    99+
    2024-04-02
  • Python中np.linalg.norm()用法实例总结
    目录前言用法总结前言 np.linalg.norm()用于求范数,linalg本意为linear(线性) + algebra(代数),norm则表示范数。 用法 np.linalg....
    99+
    2024-04-02
  • Python中index函数用法总结
    用途 如果我们需要在序列类型数据(字符串、元组、列表)中查找某个元素并输出对应的索引值,就需要使用到index()方法了。 index()方法 2.1 描述 index() 函数用于从序列s中找出某个值第一个出现时的索引位置。 2 用法...
    99+
    2023-09-03
    python
  • Python字符串的用法总结
    本篇内容介绍了“Python字符串的用法总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!创建字符串很简单,只要为变量分配一个值即可。例如:...
    99+
    2023-06-04
  • python Pool常用函数用法总结
    1、说明 apply_async(func[,args[,kwds]):使用非堵塞调用func(并行执行,堵塞方式必须等待上一个过程退出才能执行下一个过程),args是传输给func...
    99+
    2024-04-02
  • Python字典方法总结
    1.清空字典中元素清空,dict变为{}    L.clear()-> None.  Remove all items from L>>> L ={'shaw':23,'sam':36,"eric":40}>&...
    99+
    2023-01-31
    字典 方法 Python
  • return用法总结
    推荐教程:java教程return用法总结:  一、在有返回值的方法中,返回方法指定类型的值,同时结束方法执行;  二、也可以用在返回值为void的方法中,用来终止方法运行;break和return  break是用来跳出循环的,例如for...
    99+
    2021-12-06
    java教程 java return
  • pandas用法总结
    https://blog.csdn.net/yiyele/article/details/80605909   一、生成数据表1、首先导入pandas库,一般都会用到numpy库,所以我们先导入备用:import numpy as...
    99+
    2020-11-19
    pandas用法总结
  • Python Pandas常用函数方法总结
    初衷 NumPy、Pandas、Matplotlib、SciPy 等可以说是最最最常用的 Python 库了。我们在使用 Python 库的时候,通常会遇到两种情况。以 Pandas 举例。 我想对 Pan...
    99+
    2022-06-02
    Pandas常用函数方法 python pandas
  • python二叉树常用算法总结
    目录1.1 二叉树的初始化1.2 创建一个二叉树1.3 前序遍历1.4 中序遍历1.5 后序遍历1.6 层序遍历1.7 计算节点数1.8 计算树的深度1.9 计算树的叶子树1.10 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作