Python Requests 库的基本使用

Python爬虫(requests模块使用) requests发送get请求 #requests模块安装 pip install requests # 1. 导入request模块 import requests # 2. 准备目标url地址 url = 'https://www.baidu.com' # 3. 向目标url地址发送get请求 response = requests.get(url) # 4. 打印响应内容 print(response.text) requests响应对象 # 1. 导入request模块 im 阅读详情

 介绍

首先让我们来看 Requests 官方的介绍:

Requests is an elegant and simple HTTP library for Python, built for human beings.

翻译过来就是:Requests 是为人类写的一个优雅而简单的 Python HTTP 库。这个介绍很直白了,让我们先来感受一下 Requests 的威力。

import requests

# 发送请求
response = requests.get(url="http://www.baidu.com/s", params={'wd':'python'})
# 处理响应
print(response.status_code)

# 输出结果
200

这个请求如果用 urllib 来实现,代码如下:

import urllib.parse
import urllib.request

url = "http://www.baidu.com/s"
params = urllib.parse.urlencode({'wd':'python'})
# 发送请求
response = urllib.request.urlopen('?'.join([url, params]))
# 处理响应
print(response.getcode())

# 输出结果
200

从感官上就能看出来,使用 urllib 在 URL 、参数等方面会复杂一些。这只是冰山一角,实际使用中 Requests 还有好多方面超越 urllib ,它并不是浪得虚名,接下来的学习中你就会感受到。

安装

使用pip命令

$ pip3 install requests

或者也可以使用 easy_install 命令安装

$ easy_install requests

发送请求

使用 Requests 发送网络请求非常简单。

我们首先需要导入 Requests 模块:

import requests

然后,我们就可以尝试获取某个网页。本例子中,我们来获取 Github 的公共时间线:

r = requests.get('https://api.github.com/events')

现在,我们有一个名为 r 的 Response 对象。我们可以从这个对象中获取所有我们想要的信息。

Requests 简便的 API 意味着所有 HTTP 请求类型都是显而易见的。例如,你可以这样发送一个 HTTP POST 请求:

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

简单,对吧?那么其他 HTTP 请求类型:PUT,DELETE,HEAD 以及 OPTIONS 又是如何的呢?都是一样的简单:

r = requests.put('http://httpbin.org/put', data = {'key':'value'})
r = requests.delete('http://httpbin.org/delete')
r = requests.head('http://httpbin.org/get')
r = requests.options('http://httpbin.org/get')

传递参数

我们在发送请求时,经常需要向服务端发送请求参数,通常参数都是以键/值对的形式置于 URL 中,跟在一个问号的后面。例如, httpbin.org/get?key=val。Requests 允许你使用 params 关键字参数,以一个字符串字典来提供这些参数。举例来说,如果你想传递 key1=value1 和 key2=value2 到 httpbin.org/get ,那么你可以使用如下代码:​​​​​​​

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get("http://httpbin.org/get", params=payload)
print(r.url)

# 输出结果
http://httpbin.org/get?key1=value1&key2=value2

通过打印输出该 URL,你能看到 URL 已被正确编码。

注意字典里值为 None 的键都不会被添加到 URL 的查询字符串里。

你还可以将一个列表作为值传入:​​​​​​​

payload = {'key1': 'value1', 'key2': ['value2', 'value3']}
r = requests.get("http://httpbin.org/get", params=payload)

# 输出结果
http://httpbin.org/get?key1=value1&key2=value2&key2=value3

响应内容

我们可以通过返回读取服务器响应的内容,以 请求百度首页为例:​​​​​​​

import requests
r = requests.get('http://www.baidu.com')
print(r.text)

#返回(太多,只显示一部分)

<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-eq...

Requests 会自动解码来自服务器的内容,大多数 unicode 字符集都能被无缝地解码。

请求发出后,Requests 会基于 HTTP 头部对响应的编码作出有根据的推测。当你访问 r.text 之时,Requests 会使用其推测的文本编码。你可以通过 r.encoding 来获取 Requests 使用的编码:​​​​​​​

r.encoding

# 输出结果
'utf-8'

并且能够使用 r.encoding 属性来改变它:

r.encoding = 'ISO-8859-1'

如果你改变了编码,每当你访问 r.text ,Request 都将会使用 r.encoding 的新值。

二进制响应内容

对于非文本请求(例如图片),你也能以字节的方式访问请求响应体,Requests 会自动为你解码 gzip 和 deflate 传输编码的响应数据。

例如,以请求返回的二进制数据创建一张图片,你可以使用如下代码

import requests
from PIL import Image
from io import BytesIO

r = requests.get('http://img.sccnn.com/bimg/326/203.jpg')
print(r.content)
bi = BytesIO(r.content)
print(bi)
i = Image.open(bi)
print(i)

# 输出结果
b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\...
<_io.BytesIO object at 0x1112fdbf8>
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=600x400 at 0x111020588>

JSON 响应内容

Requests 中有一个内置的 JSON 解码器,可以帮助你处理 JSON 数据:​​​​​​​

r = requests.get('https://api.github.com/events')
print(r.json())

# 输出结果
[{u'repository': {u'open_issues': 0, u'url': 'https://github.com/...

如果 JSON 解码失败, r.json() 就会抛出一个异常。​​​​​​​

r = requests.get('https://www.baidu.com')
print(r.json())

# 输出结果
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

需要注意的是,成功调用 r.json() 并不意味着响应的成功。有的服务器会在失败的响应中包含一个 JSON 对象(比如 HTTP 500 的错误细节)。这种 JSON 会被解码返回。要检查请求是否成功,请使用 r.raise_for_status() 或者检查 r.status_code 是否和你的期望相同。

原始响应内容

在极少数情况下,你可能想获取来自服务器的原始套接字响应,那么你可以访问 r.raw。这个时候请确保在初始请求中设置了 stream=True。具体你可以这么做:​​​​​​​

r = requests.get('https://api.github.com/events', stream=True)
print(r.raw)
print(r.raw.read(10))

# 输出结果
<requests.packages.urllib3.response.HTTPResponse object at 0x101194810>
'\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03'

设置请求头

如果你在爬取某个页面内容的时候,发现获取的数据为空,但是直接用浏览器访问 URL 没问题,这时候很有可能是你被服务器识别为爬虫用户了,怎么办呢?我们应该要模拟浏览器去请求,这时候你需要为请求添加 HTTP 头部信息,只要简单地传递一个 dict 给 headers 参数就可以了。

例如,我们设置一下 User-Agent :​​​​​​​

url = 'http://www.baidu.com'
headers = {'User-Agent': 'myagent/2.21.0'}
r = requests.get(url, headers=headers)
print(r.request.headers)

# 输出结果
{'User-Agent': 'myagent/2.21.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}

可以看到,请求的 User-Agent 已经变成了设置的 myagent/2.21.0。

复杂的 POST 请求

我们在使用 POST 请求的时候,打印一下 r.text 会发现每次都会出现几个关键字:​​​​​​​

{
  "args": {}, 
  "data": "", 
  "files": {}, 
  "form": {}, 
  "headers": {}, 
  "json": null, 
  "origin": "221.232.172.222, 221.232.172.222", 
  "url": "https://httpbin.org/post"
}

这些关键字都可以在 POST 的参数里面设置。其中 headers 和 args 我们前面已经讲过,分别表示请求头和参数信息。origin 是指请求的路由 ip,url 是我们请求的 url,其他几个我们都是可以设置的。下面我们就来看看其他几个关键字怎么设置。

设置data参数

如果你在 POST 请求时想提交表单,也只需要简单的传递一个字典给 data 参数即可。你的数据字典在发出请求时会自动编码为表单形式:​​​​​​​

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.org/post", data=payload)
print(r.text)

# 输出结果
{
  ...
  "form": {
    "key1": "value1", 
    "key2": "value2"
  }, 
  ...
}

你也可以为 data 参数传入一个元组列表。Requests 会自动将其转换成一个列表:

payload = (('key1', 'value1'), ('key1', 'value2'))
r = requests.post("http://httpbin.org/post", data=payload)
print(r.text)

# 输出结果
{
  ...
  "form": {
    "key1": [
      "value1", 
      "value2"
    ]
  }, 
  ...
}

设置 json 参数

Requests 允许你使用 json 直接传递参数,然后它就会被自动编码。

payload = {'some': 'data'}
r = requests.post("http://httpbin.org/post", json=payload)
print(r.text)

# 输出结果
{
  "args": {}, 
  "data": "{\"some\": \"data\"}", 
  "files": {}, 
  "form": {}, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Content-Length": "16", 
    "Content-Type": "application/json", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.21.0"
  }, 
  "json": {
    "some": "data"
  }, 
  "origin": "221.232.172.222, 221.232.172.222", 
  "url": "https://httpbin.org/post"
}

注意,这里不仅赋值给 json 了,而且还自动赋值给 data 了,json 里面的键值对也被自动编码到 data 中了。

设置文件参数

Requests 上传文件很简单:

files = {'file': open('test.txt', 'rb')}
r = requests.post('http://httpbin.org/post', files=files)
print(r.text)

# 输出结果
{
  ...
  "files": {
    "file": "this is a file test"
  }, 
  ...
}

你也可以增加一个参数,把字符串发送到上传的文件中,例如:

files = {'file': ('test.txt', 'some,data,to,send\nanother,row,to,send\n')}
r = requests.post('http://httpbin.org/post', files=files)
print(r.text)

# 输出结果
{
  ...
  "files": {
    "file": "some,data,to,send\nanother,row,to,send\n"
  }, 
  ...
}

响应状态码和响应头

我们可以从服务器响应的结果中获取状态码和响应头的信息,例如:

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

# 输出结果
200

为方便引用,Requests还附带了一个内置的状态码查询对象:

print(r.status_code == requests.codes.ok)

# 输出结果
True

我们还可以查看响应的响应头信息:

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

# 输出结果
{'Access-Control-Allow-Credentials': 'true', 'Access-Control-Allow-Origin': '*', 'Content-Encoding': 'gzip', 'Content-Type': 'application/json', 'Date': 'Wed, 18 Sep 2019 12:22:06 GMT', 'Referrer-Policy': 'no-referrer-when-downgrade', 'Server': 'nginx', 'X-Content-Type-Options': 'nosniff', 'X-Frame-Options': 'DENY', 'X-XSS-Protection': '1; mode=block', 'Content-Length': '183', 'Connection': 'keep-alive'}

要获取响应头的某个字段值,我们可以这样:

print(r.headers['Content-Encoding'])

# 输出结果
gzip

Cookie

如果一个响应中包含了 cookie ,那么我们可以利用 cookies 变量来拿到:

url = 'http://example.com/some/cookie/setting/url'
r = requests.get(url)
r.cookies['example_cookie_name']

# 输出结果
'example_cookie_value'

以上程序仅是样例,运行程序并不会得到下面的返回。需要包含 cookie 的响应才可以得到。

另外可以利用 cookies 变量来向服务器发送 cookies 信息:

cookies = dict(cookies_are='working')
r = requests.get('http://httpbin.org/cookies', cookies=cookies)
print(r.text)

# 输出结果
{
  "cookies": {
    "cookies_are": "working"
  }
}

可以看到我们设置 cookies 参数后,返回中就包含了我们设置的信息。

Cookie 的返回对象为 RequestsCookieJar,它和字典类似,适合跨域名跨路径使用,也就是说我们可以为不同的域名或者路径设置不同的 cookie 。你还可以把 Cookie Jar 传到 Requests 中:

jar = requests.cookies.RequestsCookieJar()
#为路径/cookies设置cookie
jar.set('tasty_cookie', 'yum', domain='httpbin.org', path='/cookies')
#为路径/elsewhere设置cookie
jar.set('gross_cookie', 'blech', domain='httpbin.org', path='/elsewhere')
#请求路径为/cookies的URL
url = 'http://httpbin.org/cookies'
r = requests.get(url, cookies=jar)
print(r.text)

# 输出结果
{
  "cookies": {
    "tasty_cookie": "yum"
  }
}

重定向与请求历史

默认情况下,除了 HEAD 请求, Requests 会自动处理所有重定向。

可以使用响应对象的 history 方法来追踪重定向。

Response.history 是一个 Response 对象的列表,这个对象列表按照从最老到最近的请求进行排序。

例如,Github 将所有的 HTTP 请求重定向到 HTTPS:

r = requests.get('http://github.com')
print(r.url)
print(r.status_code)
print(r.history)

# 输出结果
https://github.com/
200
[<Response [301]>]

如果你使用的 Mac ,在运行这段代码时报错:ConnectionResetError: [Errno 54] Connection reset by peer。你需要升级你系统的 openssl,具体方法请自行百度关键词“mac 更新OpenSSL”,更新之后就不会报错了。

我们还可以通过 allow_redirects 参数禁用重定向处理:

r = requests.get('http://github.com', allow_redirects=False)
print(r.status_code)
print(r.history)

# 输出结果
301
[]

超时

你可以通过设置 timeout 参数来告诉 requests 在经过以 timeout 参数设定的秒数时间之后停止等待响应。

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

# 输出结果
requests.exceptions.ConnectTimeout: HTTPConnectionPool(host='github.com', port=80): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x110adf400>, 'Connection to github.com timed out. (connect timeout=0.001)'))

这里通过设置极短的超时时间导致请求停止等待响应,从而引发报错。注意 timeout 仅对连接过程有效,与响应体的下载无关。timeout 并不是整个下载响应的时间限制,而是如果服务器在 timeout 秒内没有应答,将会引发一个异常。

网络爬虫——pip方式安装Requests模块 网络爬虫——使用pip方式安装requests模块 阅读详情

相关推荐

Python中requests库

文章目录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

一个专注于机器学习基础与实战的技术博客,内容涵盖算法推导、模型实现、数学原理与代码实践。用通俗的语言解析复杂概念,记录学习过程中的思考与总结,适合机器学习爱好者和从业者参考。 5万+

pip安装requests模块

本文重点就python启动py项目出现的错误提出一定的解决方法

qq_64775230的博客 5841

python的requests设置Content-Length的反爬措施破解办法

一、原请求方法 import requests import json url = 'https://xxxx.com' data = {'a':1,'b':2} headers = { 'Content-Type':'application/json;charset=UTF-8', 'Content-Length':str(len(json.dumps(data))) } res = requests.post(url=url,headers=headers,data=json.dumps(data))

云霄IT的博客 5976

【Python 】:Requests库安装和使用教程(非常详细)

Python 提供了多个用来编写爬虫程序的库,除了前面已经介绍的 urllib 库之外,还有一个很重的 Requests 库,这个库的宗旨是“让 HTTP 服务于人类”。Requests 库是在 urllib 的基础上开发而来,它使用 Python 语言编写,并且采用了 Apache2 Licensed(一种开源协议)的 HTTP 库。与 urllib 相比,Requests 更加方便、快捷,因此在编写爬虫程序时 Requests 库使用较多。

python03012的博客 8万+

数据结构与算法 —— 最短路径Dijkstra算法(迪杰斯特拉)详细图解以及python实现

前两章我们讲到了关于图的基本知识,和广度/深度优先搜索。本章,我们将介绍加权图和最短路径的相关知识。最短路径和最小生成树是图论中常见的问题。最短路径是指在一个图中找到两个节点之间的最短路径,最小生成树是指在一个图中找到一个连通子图,使得所有节点都能够互相到达,且总权值最小。最短路径算法常见的有floyd算法(弗洛伊德算法)和 dijkstra算法(迪杰斯特拉)。本文只介绍dijkstra算法。最短路径运用非常广泛,比如在导航系统中,确定两个地点间哪条路线最短;

‘’ 2万+

解锁SPWM电压利用率:三次谐波注入幅值的黄金分割点

本文深入探讨了SPWM电压利用率的提升方法,重点介绍了三次谐波注入技术及其黄金分割点(1/6比例)。通过数学推导和工程实践,揭示了如何通过特定幅值的三次谐波注入将电压利用率从86.6%提升至115%,与SVPWM相当。文章还提供了实验室调试流程和DSP实现代码,帮助工程师优化逆变器设计。

weixin_30729609的博客 915

python怎么安装requests库-python怎么安装requests库

requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多因为是第三方库,所以使用前需要cmd安装pip install requests安装完成后import一下,正常则说明可以开始使用了。基本用法:requests.get()用于请求目标网站,类型是一个HTTPresponse类型import requestsresponse = requests.get('ht...

weixin_37988176的博客 2039

保姆级教程:用Altium Designer 24从零画一块PCB(附完整库文件与避坑清单)

本文提供了一份详细的Altium Designer 24(AD24)PCB设计教程,从工程创建到最终文件输出,涵盖元件库管理、原理图设计、PCB布局布线等全流程。特别适合初学者,包含STM32最小系统板的实战案例,附完整库文件和避坑清单,帮助用户快速掌握AD24的核心功能与技巧。

weixin_27697385的博客 247

【Python爬虫】安装requests库解决报错问题

在命令行输入:pip install requests -i http://pypi.douban.com/simple --trusted-host pypi.douban.com。执行pip install requests此语句后,它会默认的用国外的镜像来进行下载,所以速度就会过慢,速度一慢,也就造成·了超时,从而报错。但是如果你出现了如下图所示的问题,也不要慌张,因为我在安装时也出现了这种问题,首先来解释一下出现原因的原因吧。豆瓣: http://pypi.douban.com/simple/

小洁洁 6442

解决MATLAB2020B关于找不到vs2019C++编译器问题

解决MATLAB2020B关于找不到vs2019C++编译器问题

wcm2577的博客 7605

用Simulink对Carsim车辆进行档位控制

用Simulink对Carsim车辆进行档位控制一、carsim中的档位设置为开环控制二、在Constant目录下面选取一个选项并重新命名为constant :0 Gear三、双击进去设置常量为 0四、输入和输出IO通道五、验证 :输入 为 3 档 ----- 输出 为 3!六、参考 一、carsim中的档位设置为开环控制 二、在Constant目录下面选取一个选项并重新命名为constant :0 Gear 三、双击进去设置常量为 0 四、输入和输出IO通道 五、验证 :输入 为 3 档 -

qq_42027654的博客 2599

Python爬虫 requests库详解

所以,如果请求一个 HTTPS 站点,但是证书验证错误的页面时,就会报这样的错误,那么如何避免这个错误呢?此外,requests 还提供了证书验证的功能。但是一旦开始大规模爬取,对于大规模且频繁的请求,网站可能会弹出验证码,或者跳转到登录认证页面,更甚者可能会直接封禁客户端的 IP,导致一定时间段内无法访问。当然,如果参数都传一个 HTTPBasicAuth 类,就显得有点烦琐了,所以 requests 提供了一个更简单的写法,可以直接传一个元组,它会默认使用 HTTPBasicAuth 这个类来认证。

m0_59236602的博客 1865

AgentScope Java 2.0 最佳实践:9 个完整示例手把手带你开发 Java‑Agent

本文基于9 个完整示例,深入剖析从基础对话(BasicChatExample)、工具调用(@Tool 注解)、结构化输出(POJO Schema)、ToolGroup 自主管理、MCP 外部工具集成、Hook 生命周期监控、Spring Boot SSE 流式 Web、JsonSession 会话持久化到中断恢复的全链路实战教程。

program哲学 1621

Python Requests库安装和使用

Python Requests库安装和使用 Python 提供了多个用来编写爬虫程序的库,除了前面已经介绍的 urllib 库之外,还有一个很重的 Requests 库,这个库的宗旨是“让 HTTP 服务于人类”。 Python requests Requests 是 Python 的第三方库,它的安装非常简便,如下所示: python -m pip install requests Requests 库是在 urllib 的基础上开发而来,它使用 Python 语言编写,并且采用了 Apache2 Li

ccc369639963的博客 2万+

【软考高项论文】论信息系统项目管理的干系人绩效域

例如,在处理与电信运营商合作铺设光纤网络的问题时,考虑到其在通信设施建设和运维方面的专业性和重要性,我们将之定位为高权力高利益的干系人,给予了高度关注和优先沟通。项目全程,我们对干系人绩效域的执行效果进行了定期检查和评估,通过定量与定性的数据收集,确认了项目在干系人管理上的成效,具体表现为:建立了稳固的工作关系网络,使干系人普遍认可项目目标;鉴于本项目牵涉到政府各级部门、企事业单位、市民团体、技术研发伙伴等多种类型的干系人,且干系人的诉求和影响力各异,因此,有序且持续的干系人参与管理显得尤为关键。

Programming Talk 1681

AI Agent开发大全第一课-AI是什么以及如何使用AI

近年来,人工智能的迅猛发展引发了广泛的关注,尤其是“大模型”这一概念越来越深入人心。大模型,顾名思义,通常指的是那些拥有大量参数、能够处理复杂任务的机器学习模型。与传统小模型相比,大模型在数据处理、信息理解和生成等方面表现更加出色。为了理解为什么现在的AI被称为大模型,我们需要深入探讨几个关键因素。立角色是指在提示词中清晰地界定交互双方的身份。明确用户希望模型扮演的角色,可以帮助模型更准确地理解上下文和用户需求。

打造全国最全的AI Agent开发知识领域的博客 1406

python之requests库解析

本文讲requests的基本使用

m0_64408930的博客 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

如何在Python中使用Requests库?

在Python中,网络请求处理是很多应用开发中的常见需求。Requests库作为Python中最常用的第三方库之一,它能够简化HTTP请求的发送和响应的处理。无论是获取网页内容、与API接口交互,还是提交表单数据,Requests都可以帮助开发者轻松实现。

weixin_43772292的博客 1996

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Python requests库介绍

requests是一个用于发送HTTP请求的Python库。它建立在Python的标准库urllib3之上,但提供了更加简洁、易用的接口。无论是简单的 GET请求、POST请求,还是复杂的HTTP操作,requests 都能轻松应对。与Python标准库中的urllib和urllib2相比,requests的优势在于其简洁性和可读性。它的设计理念是让开发者能够用尽可能少的代码完成复杂的网络请求任务。

m0_46311182的博客 2243

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

使用Python Requests库测试接口

大家好,在现代网络开发中,与Web服务器进行通信是一项至关重要的任务。Python作为一种多才多艺的编程语言,提供了各种工具和库来简化这一过程。其中,Requests库作为Python中最受欢迎的HTTP库之一,为开发人员提供了简单而强大的方式来发送HTTP请求和处理响应。从最基本的GET请求到复杂的身份验证和代理设置,Requests库为我们提供了丰富的功能和灵活的接口。无论是爬虫、Web开发还是测试,Requests都是一个不可或缺的工具。

若不知道要驶向哪个码头,那么任何风都不会是顺风。 1791

python-requests 库使用

python-requests 库使用 """ 安装 pip install requests """ # 使用 import requests response = requests.get('https://www.baidu.com/') print(type(response)) # &lt;class 'requests.models.Response'&gt; print(respo...

_Tsun 的博客 3045

python中urllib库和requests库的选择

通过对比urllib和requests两个库,我们可以发现它们在功能、使用方式和效率上存在差异。urllib作为Python标准库的一部分,具有稳定性和可靠性,但其API相对繁琐,需要更多的代码来实现相同的功能。而requests作为第三方库,提供了更加简洁和人性化的API,具有丰富的功能和高效的性能。在实际项目中,选择哪个库取决于具体需求。如果你只需要发送基本的HTTP请求并且对性能要求不高,可以使用urllib库。它的标准库地位也意味着无需额外安装任何依赖,这对于某些环境可能是一个优势。

jj516585042的专栏 1058

requests库怎么安装在python中-python安装requests库的实例代码

requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多因为是第三方库,所以使用前需要cmd安装pip install requests安装完成后import一下,正常则说明可以开始使用了。基本用法:requests.get()用于请求目标网站,类型是一个HTTPresponse类型import requestsresponse = requests.get('ht...

weixin_37988176的博客 1056

史上最全!Python爬虫requests库(附案例)

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

2401_86168842的博客 6026

Python requests库详细介绍

requests详细介绍

zhangkexin_z的博客 1159

python requests库基本用法

Requests包的学习 1.安装Requests (1)打开dos命令运行窗口 (2)输入pip install Requests 2.Requests包的使用 在ide或者python自带的写代码工具中输入import Requests 就导入包成功了,就可以使用requests包上的东西 import Requests 3.Requests的用法 (1).发送请求 通过requests中的get来获取你想要获取的网页 url="你想获取的网址" r=requests.get(url) #也可以使用

wudigank的博客 6670
上一篇: Python 多线程 Event
下一篇: Python Requests 库高级用法
唐僧不爱八戒
博客等级 码龄9年 158粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值