Python 网页请求之requests库的使用详解
作者:小嗷犬 发布时间:2021-01-30 23:42:06
标签:Python,requests,库
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
0
投稿
猜你喜欢
- 介绍提到爬虫,互联网的朋友应该都不陌生,现在使用Python爬取网站数据是非常常见的手段,好多朋友都是爬取豆瓣信息为案例,我不想重复,就使用
- 代码如下:<% sql="select * from serr where
- 废话不多说了,关键代码如下所示:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 T
- 在数据库testDB中存在架构A及用户A,现将testDB数据库所属的用户由A改为B,同时删除用户A;架构也由A改为B,删除架构A,操作如下
- 大多的MySQL都是装在Linux上的,而我们的本机上一般都会装MySQL-Front.那如何用MySQL-Front连接远端Linux系统
- 利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。1、创建保存备份文件的路径/mysqldata#mkdi
- 话不多说,直接上代码import copyimport cv2import numpy as npWIN_NAME = 'draw_
- 如果您的网站面向世界各地的冲浪者或者对外开展商贸活动,检测来访者的浏览器语言类型就非常现实了。这里提供的脚本可以检测流露;浏览器
- asp编程手工定义参数的方法: Dim con As ADODB.Connection
- 一、相关代码数据库配置类 MongoDBConn.py#encoding=utf-8'''Mongo Conn连接类
- 先由exp把数据卸出到文件系统, 产生一个.dmp文件, 然后必要时再由imp将数据装入数据库. 对于一般中小型数据库来说, 全数据库的ex
- 一、设置开启SMTP服务并获取授权码可以参考第一篇文章,这里不再赘述:【一】https://www.jb51.net/article/142
- 在网站开发的时候经常要用chr(),但本人比较懒没时间记那么多。于是到用到的时候就查,这样麻烦。现在将它写出来方便以后用到查,也方便大家!c
- 源码及注释:import pygamefrom sys import exitfrom random import randintimpor
- 根据国务院文件,5.19-5.21为全国哀悼日,在此期间,全国和各驻外机构下半旗志哀,停止公共娱乐活动,外交部和我国驻外使领馆设立吊唁簿。5
- 这篇论坛文章详细介绍了完全卸载MySQL数据库5.0的具体方法,更多内容请参考下文:数据库突然出了问题,没办法只能重装,因为事先并不知道My
- 内容摘要:在像网站首页这样的资源比较集中的页面中,那些栏目最经常被用户点击?居左居右对广告的点击率的影响是什么?“一切用数字说话”:以上问题
- function MakeUrl($arr){  
- 回想自己从事Web方面的开发已经有6-7年,对于各种Web技术都已经非常熟悉.可是,身为程序员的我对于制作Web表单界面的事着实心痛。心痛1
- NumPy 比一般的 Python 序列提供更多的索引方式。除了之前看到的用整数和切片的索引外,数组可以由整数数组索引、布尔索引及花式索引。