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