Python 网页请求之requests库的使用详解

作者:小嗷犬 时间:2021-01-30 23:42:06 

1.requests库简介

requests 是 Python 中比较常用的网页请求库,主要用来发送 HTTP 请求,在使用爬虫或测试服务器响应数据时经常会用到,使用起来十分简洁。

requests 为第三方库,需要我们通过pip命令安装:

pip install requests

2.requests库方法介绍

下表列出了requests库中的各种请求方法:

方法描述
delete(url, args)发送 DELETE 请求到指定 url
get(url, params, args)发送 GET 请求到指定 url
head(url, args)发送 HEAD 请求到指定 url
patch(url, data, args)发送 PATCH 请求到指定 url
post(url, data, json, args)发送 POST 请求到指定 url
put(url, data, args)发送 PUT 请求到指定 url
request(method, url, args)发送指定的请求方到指定 url

每次调用 requests 请求之后,会返回一个 response 对象,该对象包含了具体的响应信息。

response 对象具有以下属性:

属性描述
apparent_encoding编码方式
content返回响应的内容,以字节为单位
cookies返回一个 CookieJar 对象,包含了从服务器发回的 cookie
elapsed返回一个 timedelta 对象,包含了从发送请求到响应到达之间经过的时间量,可以用于测试响应速度。
比如 r.elapsed.microseconds 表示响应到达需要多少微秒。
encoding解码 r.text 的编码方式
headers返回响应头,字典格式
history返回包含请求历史的响应对象列表(url)
is_permanent_redirect如果响应是永久重定向的 url,则返回 True,否则返回 False
is_redirect如果响应被重定向,则返回 True,否则返回 False
links返回响应的解析头链接
next返回重定向链中下一个请求的 PreparedRequest 对象
ok检查 “status_code” 的值,如果小于400,则返回 True,如果不小于 400,则返回 False
reason响应状态的描述,比如 “Not Found” 或 “OK”
request返回请求此响应的请求对象
status_code返回 http 的状态码,比如 404 和 200(200 是 OK,404 是 Not Found)
text返回响应的内容,unicode 类型数据
url返回响应的 URL

response 对象还具有一些方法:

方法描述
close()关闭与服务器的连接
iter_content()迭代响应
iter_lines()迭代响应的行
json()返回结果的 JSON 对象 (结果需要以 JSON 格式编写的,否则会引发错误)
raise_for_status()如果发生错误,方法返回一个 HTTPError 对象

有了这些我们就可以自由的发送页面请求了。

3.代码实例

下面这段代码使用 GET 请求获取了CSDN首页的网页内容:

import requests

x = requests.get('https://www.csdn.net/')

print(x.text)

可以查看 response 对象的各种响应信息:

import requests

x = requests.get('https://www.csdn.net/')

print(x.reason)
print(x.status_code)
print(x.apparent_encoding)

学会了网页请求,我们很快就可以进行爬虫了。

来源:https://blog.csdn.net/qq_63585949/article/details/126754996

标签:Python,requests,库
0
投稿

猜你喜欢

  • Python 中enum的使用方法总结

    2022-11-10 03:13:14
  • python实现从字典中删除元素的方法

    2023-11-10 17:26:33
  • mysql 5.6.23 安装配置环境变量教程

    2024-01-19 11:58:14
  • Python文件操作和数据格式详解(简单简洁)

    2022-12-18 21:28:01
  • Python做文本按行去重的实现方法

    2021-12-31 17:41:07
  • python实现图片转字符画

    2021-02-13 22:58:33
  • Django如何创作一个简单的最小程序

    2022-09-04 04:57:28
  • python实现屏保程序(适用于背单词)

    2021-09-26 04:24:00
  • Python如何判断字符串是否仅包含数字

    2023-12-23 08:16:04
  • 讲解数据库加密技术的功能特性与实现方法

    2008-12-18 14:24:00
  • js仿googl拖拽效果

    2007-09-29 13:16:00
  • MySQL如何根据不同条件联查不同表的数据if/case

    2024-01-21 14:20:10
  • Python之如何调整图片的文件大小

    2022-09-27 04:57:50
  • pygame多种方式实现屏保操作(自动切换、鼠标切换、键盘切换)

    2022-12-08 20:39:49
  • 将pytorch转成longtensor的简单方法

    2021-10-25 02:42:56
  • Node.js多进程的方法与参数实例说明

    2024-05-02 17:37:37
  • SQL实现LeetCode(180.连续的数字)

    2024-01-24 13:45:21
  • 如何正确编写高质量高性能的MySQL语法

    2008-11-27 15:43:00
  • MySQL的常用命令集锦

    2024-01-16 00:40:44
  • Python标准库之time库的使用教程详解

    2023-07-25 05:25:57
  • asp之家 网络编程 m.aspxhome.com