脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python之 requests的使用(一)

Python之 requests的使用(一)

2023-04-10 15:30爱吃饼干的小白鼠 Python

requests是一个很实用的Python HTTP客户端库,爬虫和测试服务器响应数据时经常会用到,requests是Python语言的第三方的库,专门用于发送HTTP请求,使用起来比urllib简洁很多,这篇文章主要介绍requests的基础用法

requests的使用(一)

 大家好,今天就来说说requests的基础用法。requests是一个很实用的Python HTTP客户端库,爬虫和测试服务器响应数据时经常会用到,requests是Python语言的第三方的库,专门用于发送HTTP请求,使用起来比urllib简洁很多。

1.准备工作

首先呢,我们要确保我们已经之前安装requests库,如果没有安装,按照下面步骤按照库。

pip 安装

无论是 Windows、Linux 还是 Mac,都可以通过 pip 这个包管理工具来安装。

在命令行下运行如下命令即可完成 requests 库的安装:

pip3 install requests

这是最简单的安装方式,推荐此种方法安装。

验证安装

为了验证库是否已经安装成功,可以在命令行下测试一下:

?
1
2
3
4
5
import requests
 
res = requests.get('https://www.baidu.com/')
 
print(res)

输入如上内容,如果什么错误提示也没有,那么就证明我们已经成功安装了 requests。

2.实例引入

requests库请求网页用到的是get()方法,下面通过实例来看一下。

?
1
2
3
4
5
6
7
8
9
10
11
import requests
 
res = requests.get('https://www.baidu.com/')
 
print(type(res))
 
print(res)
 
print(res.text)
 
print(res.cookies)

这里我们调用get()方法实现,得到一个response对象,然后分别输出response的类型,状态码,内容以及cookies。

使用get()方法成功实现一个get()请求这不算什么,更方便的请求还有其他的。比如post(),put()等等。

3.get()请求

HTTP最常见的请求之一就是GET请求,下面我们首先先来了解一下利用requests构建GET的方法

基本实例

首先,我们构建一个最简单的get请求,请求的链接如下,该网站会判断如果用户发起的的是get请求的话,它就会返回响应的请求信息

?
1
2
3
4
5
import requests
 
res = requests.get('http://httpbin.org/get')
 
print(res.text)

运行的结果如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
{
  "args": {},
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Host": "httpbin.org",
    "User-Agent": "python-requests/2.27.1",
    "X-Amzn-Trace-Id": "Root=1-637ae5d7-35da1bf57b139d152585d12a"
  },
  "origin": "223.215.67.113",
  "url": "http://httpbin.org/get"
}

可以发现,我们成功发起了get请求,返回结果中包含请求头,url,IP等信息。

那么,对于GET请求,如果我们想要附加额外信息,一般怎么添加呢?比如讲,现在想添加两个参数,其中name是Tina,age是18。要构造这个请求链接,是不是可以直接写成:

?
1
r = requests.get('http://httpbin.org/get?name=Tina&age=18')

这样也是可以的,我们还可以通过字典来构造。利用params这个参数就好了。

?
1
2
3
4
5
6
7
8
9
10
11
12
import requests
 
data = {
 
    'name':'Tina'
    
    'age':'18'
    }
 
res = requests.get('http://httpbin.org/get',params = data)
 
print(res.text)

运行结果如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
  "args": {
    "age": "18",
    "name": "Tina"
  },
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Host": "httpbin.org",
    "User-Agent": "python-requests/2.27.1",
    "X-Amzn-Trace-Id": "Root=1-637ae902-695483e87b26b3ad49d15df7"
  },
  "origin": "223.215.67.113",
  "url": "http://httpbin.org/get?name=Tina&age=18"
}

通过运行结果判断,请求的链接自动变成了带有后缀的链接。

另外,网页返回的类型实际上是str,但是它是json()格式的,我们可以用json返回一个字典。如果不是json格式,使用json就会报错,抛出json.decoder.JSONDecodeError异常。

4.post()请求

上面我们了解了最基本的get请求,另外一种比较常见的请求方式就是post()。使用requests实现post请求也是非常简单,示例如下。

?
1
2
3
4
5
import requests
 
res = requests.post('http://httpbin.org/post')
 
print(res.text)

运行之后就会发现得到了结果,就说明我们post请求成功。

5.响应

发送请求,之后得到的肯定就是响应。除了text,还有状态码,响应头,cookies等等。

requests 库可以用来发送 HTTP 请求并获取响应。当你发送一个 HTTP 请求时,你会得到一个 Response 对象,它包含了从服务器返回的所有数据。Response 对象有以下属性:

status_code:HTTP 状态码,表示服务器的响应状态。
headers:一个字典,其中包含了从服务器返回的所有头部信息。
body:一个字节串,包含了从服务器返回的所有数据。

总结

requests是一个很实用的Python HTTP客户端库,爬虫和测试服务器响应数据时经常会用到,requests是Python语言的第三方的库,专门用于发送HTTP请求,使用起来比urllib简洁很多。

 本文我们说了requests的简单用法,知道了如何发送请求,下一篇我们更深层次的来学习requests。我们看看高级一点的操作,比如讲文件上传,cookies设置,代理设置之类的。

到此这篇关于Python之 requests的使用(一)的文章就介绍到这了,更多相关Python requests的使用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/BROKEN__Y/article/details/130022246

延伸 · 阅读

精彩推荐
  • Python3个提高Python开发效率的小工具

    3个提高Python开发效率的小工具

    本文将介绍笔者在近一周发现的三个小工具,写文章以做记录,希望能对大家有所帮助。 ...

    马哥Linux运维7452021-05-12
  • Pythonpython3实现163邮箱SMTP发送邮件

    python3实现163邮箱SMTP发送邮件

    这篇文章主要为大家详细介绍了Python3实现163邮箱SMTP发送邮件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    微光刺眼丶11892021-02-23
  • Pythonpython 在服务器上调用数据库特别慢的解决过程

    python 在服务器上调用数据库特别慢的解决过程

    这篇文章主要介绍了python 在服务器上调用数据库特别慢的解决过程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    善良大仙12102021-10-10
  • Pythonpython如何提升爬虫效率

    python如何提升爬虫效率

    这篇文章主要介绍了python如何提升爬虫效率,帮助大家更好的理解和使用python 爬虫,感兴趣的朋友可以参考下...

    straightup3792020-09-28
  • Python用Python写脚本,实现完全备份和增量备份的示例

    用Python写脚本,实现完全备份和增量备份的示例

    下面小编就为大家分享一篇用Python写脚本,实现完全备份和增量备份的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    huangyingleo8952021-02-07
  • Pythonpython文件读写操作与linux shell变量命令交互执行的方法

    python文件读写操作与linux shell变量命令交互执行的方法

    这篇文章主要介绍了python文件读写操作与linux shell变量命令交互执行的方法,涉及对文件操作及Linux shell交互的技巧,需要的朋友可以参考下 ...

    脚本之家4722020-05-18
  • Pythonpytorch中的广播语义

    pytorch中的广播语义

    这篇文章主要介绍了pytorch中的广播语义,pytorch的广播语义即broadcasting semantics,和numpy的很像,下面文章介绍更多相关内容的介绍,需要的小伙伴可以参考...

    机器学习入坑者6472022-10-28
  • PythonPython JSON编解码方式原理详解

    Python JSON编解码方式原理详解

    这篇文章主要介绍了Python JSON编解码方式原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考...

    虚生5812020-04-10