python request库的使用

Pythonrequests 文章目录requests一、 基本概念1、 简介2、 获取3、 http 协议3.1 URL3.2 常用 http 请求方法二、 使用方法1、 基本语法requests 中的方法2、 具体使用方法2.1 get2.1.1 基本语法2.1.2 常用参数2.2 post2.2.1 基本语法2.2.2 常用参数2.3 response2.4 **head**2.4.1 基本语法2.5 put requests 一、 基本概念 1、 简介 requests 模块是 python 基于 urllib,采用 A 阅读详情

初识 requests

requests 库的宣言是

HTTP for Humans (给人用的 HTTP 库)

我们首先来验证一下。

在网络编程中,最最基本的任务包含:

  • 发送请求
  • 登录
  • 获取数据
  • 解析数据
  • 反序列化打印内容

我们以 GitHub 为例,先看一下使用 urllib2 要怎么做。为了把事情弄简单点,我们假设实现已经知道,GET 请求 https://api.github.com/ 返回的内容是个 JSON 格式的数据(实际上通过 content-type 也能判断)。

复制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import urllib2
import json

gh_url  = 'https://api.github.com'
cs_user = 'user'
cs_psw  = 'password'

req = urllib2.Request(gh_url)

password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm()
password_manager.add_password(None, gh_url, cs_user, cs_psw)

auth_manager = urllib2.HTTPBasicAuthHandler(password_manager)
opener = urllib2.build_opener(auth_manager)

urllib2.install_opener(opener)

handler = urllib2.urlopen(req)

if handler.getcode() == requests.codes.ok:
    text = handler.read()
    d_text = json.loads(text)
    for k, v in d_text.items():
        print k, v

如果运行正确,那么代码应该返回:

复制

1
2
3
4
5
6
7
issues_url https://api.github.com/issues
current_user_repositories_url https://api.github.com/user/repos{?type,page,per_page,sort}
rate_limit_url https://api.github.com/rate_limit
repository_url https://api.github.com/repos/{owner}/{repo}
...
user_repositories_url https://api.github.com/users/{user}/repos{?type,page,per_page,sort}
team_url https://api.github.com/teams

同样的效果,用 requests 库则有如下代码:

复制

1
2
3
4
5
6
7
8
9
10
11
import requests

cs_url  = 'https://api.github.com'
cs_user = 'user'
cs_psw  = 'password'

r = requests.get(cs_url, auth=(cs_user, cs_psw))

if r.status_code == requests.codes.ok
    for k, v in r.json().items():
        print k, v

溢美之词就不用说了,读到这里的你心里肯定只有一声「卧槽,这才是 Python 该有的样子」。那么,接下来我们看看 requests 都有哪些黑魔法。

安装

最推荐的方式,是直接安装推荐过的 Anaconda

如果你不想安装 Anaconda,那么建议你使用 pip 安装;只需在命令行下执行:

复制

1
pip install requests

基本用法

requests 的基本用法,呃,真是不能再基本了。最基本的操作,就是以某种 HTTP 方法向远端服务器发送一个请求而已;而 requests 库就是这么做的。

复制

1
2
3
4
5
6
7
8
9
10
import requests

cs_url = 'http://httpbin.org'

r = requests.get("%s/%s" % (cs_url, 'get'))
r = requests.post("%s/%s" % (cs_url, 'post'))
r = requests.put("%s/%s" % (cs_url, 'put'))
r = requests.delete("%s/%s" % (cs_url, 'delete'))
r = requests.patch("%s/%s" % (cs_url, 'patch'))
r = requests.options("%s/%s" % (cs_url, 'get'))

从语法上看,requests 库设计的非常自然。所谓 requests.get,就是以 GET 方式发送一个 REQUEST,得到一个 Response 类的结果,保存为 r

你可以在 r 中取得所有你想得到的和 HTTP 有关的信息。下面,我们以 GET 方法为例,依次介绍。

URL 传参 / 获取请求的 URL

如果你经常上网(废话,看到这里的都上过网吧……),一定见过类似下面的链接:

https://encrypted.google.com/search?

STM32 FDCAN热插拔恢复机制与自动重发功能优化 本文深入分析了STM32 FDCAN在热插拔场景下触发bus-off状态导致通讯中断的根本原因,指出自动重发功能是问题关键。通过禁用自动重发、配置硬件自动恢复机制及优化总线参数,实现了FDCAN热插拔后的100%稳定恢复,为工业应用提供了可靠的CAN总线解决方案。 阅读详情

相关推荐

掌握Python Request:网络请求与数据交互

Python编程语言之所以在数据科学和网络开发领域广受欢迎,原因之一就是其丰富的第三方支持。Request是这些中的一个杰出代表,其设计目的是简化HTTP请求的发送,它使得开发者可以轻松地在Python中进行Web API的调用和网络数据的获取。Request通过直观的API为HTTP操作提供了简洁、人性化的接口,不仅支持HTTP的基本功能,还提供了对SSL证书验证、HTTP连接保持、分块传输编码等功能的支持。

weixin_33506815的博客 1250

Python爬虫】简单而强大的request

在现代的Web开发中,与服务器进行HTTP通信是一项重要的任务。PythonRequests是一个简单而强大的第三方,它提供了简洁的API,使得发送HTTP请求变得非常容易。本教程将介绍如何使用Python Requests发送各种类型的HTTP请求,并处理响应。

mingfeng4923的博客 3245

各省-教育支出水平2007-2023年

数据名称:各省-教育支出水平2007-2023年数据年份:2007-2023年相关数据指标行政区划代码 地区 年份 地方财政一般预算支出(亿元) 地方财政教育支出(亿元) 教育支出水平

Python使用requests、urllib2、httplib2、http.client执行Get和Post请求

Python(Python2和Python3)中后台执行Get和Post有一些方法,本文主要介绍使用requests、urllib2、httplib2、http.client执行Get和Post请求方法及示例代码。

weixin_52026996的博客 2172

python2 requests模块_Python requests模块

准备工作这一部分需要用到request模块,准备工作就是安装request模块。用request.get()发起请求import requests# 1、构造请求的URLurl = "http://..."# 2、创建请求参数params = {"mobilephone": "18012345678","pwd": "123456","regname": "zfy"}headers ={"User...

weixin_40001309的博客 1222

python爬虫之——request基础

python爬虫之——requestrequest一、request的安装二、 request的七个主要方法1. requests.request():构造一个方法【其他六个方法的实现都是通过调用该方法实现的】2.requests.get():获取HTML网页的主要方法(对应于HTTP的GET)【常用MAX】3.requests.head():获取HTML网页的头信息的方法(对应于HTTP的...

小西瓜的博客 1万+

Pythonrequest

requests是用python语言编写的简单易用的http,用来做接口测试的

zzhz925的博客 2943

21.7 Python 使用Request

Request可以用来发送各种`HTTP`请求,该框架的特点是简单易用,同时支持同步和异步请求,支持`HTTP`协议的各种方法和重定向。它还支持`Cookie`、`HTTPS`和认证等特性。 `Request`使用非常广泛,可以用于网络爬虫、API调用、网站测试等场景。

微软技术分享 8614

Python request基本使用方法

request的基本使用方法,不多bb,上代码,需要注意的地方都在注释里了 import requests from bs4 import BeautifulSoup def get_html_text(url): try: r=requests.get(url,timeout=50)#返回的r是Response类的对象,超过50s时抛出Timeout异常 ...

hrwy2920566283的博客 634

Python里的request安装

安装request python里的request经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方,接下来就是安装这个的步骤 刚开始时,你是没有这个模块的 那么就得安装导入了 方法一: 1.确定自己以前没有安装过,那么就打开这个网址,进去下载(gz)https://pypi.org/project/pip/#files 等待下载好后,解压再放到你的python文件夹里的Lib里面 方法二: 利用pip安装,这种方法很简单,但是我这边莫名的会出错 WARNING: Y

weixin_45643931的博客 8893

Python中关于urllibrequest详细教程

urllib的核心功能是:向服务器发送请求,得到服务器响应,获取网页的内容。在某些网络情况不好或者服务器端异常的情况会出现请求慢的情况,或者请求异常,这时给timeout参数设置一个请求超时时间,而不是让程序一直在等待结果;钩子函数连接服务器成功以及每个数据块下载完成时各调用一次,包含3个参数,依次为已经下载的数据块,数据块的大小,总文件的大小,可用于显示下载进度。Ø requset:HTTP请求模块,可以用来模拟发送请求,只需要传入URL及额外参数,就可以模拟浏览器访问网页的过程。

code_xu的博客 5915

python Request的get()方法

    1. Request的get()方法: 最通常的方法是通过r=request.get(url)构造一个向服务器请求资源的url对象。 这个对象是Request内部生成的。 这时候的r返回的是一个包含服务器资源的Response对象。包含从服务器返回的所有的相关资源。 url是什么? url是通过http协议存取资源的一个路径,它就像我们电脑里面的一个文件的路径一样。  ...

k_koris的博客 21万+

pythonrequest使用

pythonrequest使用 get方法:发送请求获取相应数据 response.content.decode() 对获取数据进行解码 import requests # 发送请求获取相应数据 response = requests.get("http://www.baidu.com") print(response) # 输出请求结果,<Response [200]> # 获取返回数据 print(response.encoding) # 返回默认编码格式 ISO-8859-1

weixin_43960044的博客 489

python request_Python3 urllib.request的基本使用

Python3 urllib.request的基本使用Python3 urllib.request的基本使用所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。 在Python中有很多可以用来抓取网页,我们先学习urllib.request。 urllib.requestPython3 自带的模块(不需要下载,导入即可使用)urllib.request...

weixin_39520880的博客 123

python2 requests模块_python requests模块详解

requestsPython的一个HTTP客户端,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的:python的标准urllib2提供了大部分需要的HTTP功能,但是API太逆天了,一个简单的功能就需要一大堆代码。我也看了下requests的文档,确实很简单,适合我这种懒人。下面就是一些简单指南。插播个好消息!刚看到reques...

weixin_39709979的博客 3193

python爬虫之request使用(友好版)

1,Requests是一个Python中的HTTP,用于向Web服务器发送HTTP请求并获取响应。Requests使用方式与urllib类似,但更加简单和灵活。Requests支持HTTPS请求,并且可以自动处理cookies和会话,使得操作更加方便。简单易用:Requests使用方式简单明了,可以很容易地编写出高效、可靠的HTTP请求。自动处理cookies和会话:Requests可以自动处理cookies和会话,使得在处理Web服务器时更加方便和安全。

关于自己学习笔记哟 1万+

自动化测试之(1)---python requests详解

Python requests接口自动化中是普遍使用的第三方,本文主要介绍requests的常用方法、属性及在接口自动化测试中的二次封装调用。

qq_19956683的博客 3369

pythonrequests模块详解

requests模块详解

W0ngk,一个安全菜鸡,一直在模仿,尚未有超越。 1万+

全网最全!Python爬虫requests教程(附案例)

Requests 是一个为人类设计的简单而优雅的 HTTP requests 是一个原生的 HTTP ,比 urllib3 更为容易使用requests 发送原生的 HTTP 1.1 请求,无需手动为 URL 添加查询串, 也不需要对 POST 数据进行表单编码。相对于 urllib3 requests 拥有完全自动化 Keep-alive 和 HTTP 连接池的功能。requests 包含的特性如下。

程序员小麦的博客 3万+

Python-request的详细解析

requests支持自定义身份验证。我们可以通过继承类来实现自定义的身份验证逻辑。requests允许我们自定义适配器,以实现更复杂的请求逻辑。我们可以通过继承类来实现自定义的适配器。

xycxycooo的博客 3495
上一篇: python+monkeyrunner实现检验Android渠道包
下一篇: python time模块转换
纽扣很忙
博客等级 码龄12年 17粉丝 22原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值