python初级教程十四 requests

news/2023/5/28 7:19:16

requests 模块

Python 内置了 requests 模块,该模块主要用来发 送 HTTP 请求,requests 模块比 urllib 模块更简洁。

# 导入 requests 包
import requests# 发送请求
x = requests.get('https://www.louei.com/')# 返回网页内容
print(x.text)

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

响应信息如下:

属性或方法说明
apparent_encoding编码方式
close()关闭与服务器的连接
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
iter_content()迭代响应
iter_lines()迭代响应的行
json()返回结果的 JSON 对象 (结果需要以 JSON 格式编写的,否则会引发错误)
links返回响应的解析头链接
next返回重定向链中下一个请求的 PreparedRequest 对象
ok检查 “status_code” 的值,如果小于400,则返回 True,如果不小于 400,则返回 False
raise_for_status()如果发生错误,方法返回一个 HTTPError 对象
reason响应状态的描述,比如 “Not Found” 或 “OK”
request返回请求此响应的请求对象
status_code返回 http 的状态码,比如 404 和 200(200 是 OK,404 是 Not Found)
text返回响应的内容,unicode 类型数据
url返回响应的 URL
# 导入 requests 包
import requests# 发送请求
x = requests.get('https://www.louei.com/')# 返回 http 的状态码
print(x.status_code)# 响应状态的描述
print(x.reason)# 返回编码
print(x.apparent_encoding)

输出结果如下:

200
OK
utf-8

请求 json 数据文件,返回 json 内容:

# 导入 requests 包
import requests# 发送请求
x = requests.get('https://www.dyf.com/try/ajax/json_demo.json')# 返回 json 数据
print(x.json())

{‘name’: ‘网站’, ‘num’: 3, ‘sites’: [{‘name’: ‘Google’, ‘info’: [‘Android’, ‘Google 搜索’, ‘Google 翻译’]}, {‘name’: ‘Louei’, ‘info’: [‘博客’, ‘梦想加空间’, ‘日常分析’]}, {‘name’: ‘Taobao’, ‘info’: [‘淘宝’, ‘网购’]}]}

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.request() 发送 get 请求:

# 导入 requests 包
import requests# 发送请求
x = requests.request('get', 'https://www.louei.com/')# 返回网页内容
print(x.status_code)

输出结果如下:

200

设置请求头:

# 导入 requests 包
import requestskw = {'s':'python 教程'}# 设置请求头
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}# params 接收一个字典或者字符串的查询参数,字典类型自动转换为url编码,不需要urlencode()
response = requests.get("https://www.louei.com/", params = kw, headers = headers)# 查看响应状态码
print (response.status_code)# 查看响应头部字符编码
print (response.encoding)# 查看完整url地址
print (response.url)# 查看响应内容,response.text 返回的是Unicode格式的数据
print(response.text)

输出结果如下:

200
UTF-8
https://www.louei.com/?s=python+%E6%95%99%E7%A8%8B

… 其他内容…

post() 方法可以发送 POST 请求到指定 url,一般格式如下:

requests.post(url, data={key: value}, json={key: value}, args)

url 请求 url。

data 参数为要发送到指定 url 的字典、元组列表、字节或文件对象。

json 参数为要发送到指定 url 的 JSON 对象。

args 为其他参数,比如 cookies、headers、verify等。

# 导入 requests 包
import requests# 发送请求
x = requests.post('http://www.louei.com/try/ajax/demo_post.php')# 返回网页内容
print(x.text)

输出结果如下:

本内容是使用 POST 方法请求的。

请求时间:

2022-05-26 17:30:47

post 请求带参数:

# 导入 requests 包
import requests# 表单参数,参数名为 fname 和 lname
myobj = {'fname': 'louei','lname': 'Boy'}# 发送请求
x = requests.post('http://www.louei.com/try/ajax/demo_post2.php', data = myobj)# 返回网页内容
print(x.text)

输出结果如下:

你好,loueiBoy,今天过得怎么样?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4556737.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

碳膜、金属膜、金属氧化膜电阻区别

碳膜电阻 碳膜电阻(碳薄膜电阻)为最早期也最普遍使用的电阻器,利用真空喷涂技术在瓷棒上面喷涂一层碳膜,再将碳膜外层加工切割成螺旋纹状,依照螺旋纹的多寡来定其电阻值,螺旋纹愈多时表示电阻值愈大。最后…

开发出实现 4W 业内超高额定功率的厚膜分流电阻器“LTR100L”

~有助于提高工业设备和消费电子设备的功率~ 作为国内领先的电子元器件线上授权代理商,唯样商城有超10万种现货库存,2000万型号数据库,满足您的元器件正品现货采购需求! 全球知名半导体制造商ROHM&#xff…

四个厚膜高阻抗电阻测量

简 介: 本文对于 BC 寄送过来的四个厚膜高阻值电阻进行了测量,通过对比可以看到这种电阻的精度和稳定性都远高于其他类型的高阻值电阻。 关键词: 高阻,绝缘电阻 #mermaid-svg-DZjQIUdXGWaS52Ie {font-family:"trebuchet ms&q…

流程控制|使用循环结构等完成重复性工作(文末附视频)

本节介绍Go语言中的程序流程控制结构,具体包括以下内容: 循环结构流程控制语句条件分支结构 经过前面两个小节的学习,我们初步掌握了Go语言的语法知识。本小节将介绍循环和条件分支,从而使用少量代码完成大量重复性的操作&#x…

厚膜电阻和合金电阻的区别都有哪些?快来看看吧

电阻是最常见的电子元器件之一,在我们日常中经常提及的贴片电阻,一般泛指普通类型的贴片厚膜和薄膜电阻。它是两个概念,即是从不同的层面来分类的。 厚膜是相对于薄膜来说,是从材料和工艺的角度来分类的。一个电阻,有…

薄膜电阻和厚膜电阻有什么区别?

简介 厚膜电阻主要是指采用厚膜工艺印刷而成的电阻。薄膜电阻稳定性的老化过程因实现不同电阻值所需的薄膜厚度而不同,因此在整个电阻范围内是可变的。此外,改变最佳薄膜厚度还会严重影响 TCR。TCR是一个不容忽视的微小参数,它的单位是ppm/℃…

RDD之累加器

先给大家看个列子对比两种方法求和的结果,发现我们定义的函数来求和和我们使用累加器的结果一样,没错,累加器的作用就是对每一个RDD元素进行操作,累加器和分区有关系,其中的关系可以将accumulator(0)中0这个参数改变下…

oracle 多列 累加,oracle 累加功能,累加百分比

最近做数据分析,需要用到累加功能,发现强大的oracle还真有,用over(order by field)例子:数据表中最后一列就是累加的效果累加sql:select t.acc_pedal_pos,count(*) num,sum(count(*)) over(order by t.acc_pedal_pos) accu_sum from GT1117C…

python中累加函数,python中累加怎么做

Python中累加可以使用函数sum()来实现,例:numpy.sum(A)---数组内所有元素之和,A---数组import numpy as npa np.array([[1,3,6],[9,5,6]])b np.sum(a)print(b)打印numpy.sum(A ,axis1)---数组内所有元素之和,axis1一…

使用 Burpsuite 测试的常用操作(一)

大家好啊,我是大田。今天分享一下 Burpsuite 在工作中常用操作,本文先说说其中两个操作。一、了解一下 Burpsuite 做什么1、Burpsuite 是一个黑客工具、安全测试工具、半自动化抓包、篡改信息。2、他能做:代理工具 Proxy 、爬虫 Spider、暴力…

mysql 累加_mysql累加、累减

累加先上表结构:CREATE TABLE abc (jidu int(11) NOT NULL AUTO_INCREMENT,jine int(11) DEFAULT NULL,PRIMARY KEY (jidu)) ENGINEInnoDB AUTO_INCREMENT14270 DEFAULT CHARSETutf8;数据:INSERT INTO abc (jidu, jine) VALUES (1, 100);INSERT INTO abc…

协程应用——aiohttp异步爬虫实战

aiohttp异步爬虫实战1. 案例介绍2. 准备工作3. 页面分析4. 实现思路5. 基本配置6. 爬取列表页7. 爬取详情页8. 总结1. 案例介绍 本例要爬取的网站是https://spa5.scrape.center/,数据量相对大,所以用到了异步爬虫,主要学习这种方法是如何提高效率的。网…

二项式反演公式

二项式反演公式 那个括号起来的就是组合数,我记得组合数那章我有说过 所以来一道例题: 设g(i)表示正好有i封信装错信封 那么全部的C(n, i)*g(i)加起来正好就是所有装信的情况,总共n!种情况 n! Σ C(n, i)*g(i) (i从0到n) 那么f(n) n!&a…

IronOcr for NET 2023.1.11644 Crack

IronOcr --version 2023.1.11644 add: * Adds Installation.LanguagePackDirectory for specifying path to .ocrdata files * Adds OcrInput.SelectTextColors for only reading text of specific colors * Fixes IronOcr for use with ClickOnce publishing and dotnet pub

剪辑技巧,简单几步骤即可混剪出多段视频素材

每个人都觉得混剪视频的这个工程量很大,但是其实只要你用对了技巧,实在是事半功倍了。下面随小编一起来试试吧,希望能给大家带来帮助。 材料准备: 一台Win系统的电脑 媒体梦工厂 多段短视频、音频以及文案素材 步骤演示; 第一步&a…

视频虚化边框剪辑技巧分享

视频上如何加上虚化的边框呢?给大家分享一个批量剪辑的技巧,简单轻松的剪辑操作方法。赶紧分享给小伙伴们吧。 在电脑上运行视频剪辑高手,选择“批量剪辑视频”的这个功能版块。 在此版块上,将需要剪辑的视频都添加到原视频地址…

视频剪辑技巧,视频旋转/翻转视频最简单的操作

现在的人都喜欢玩视频,对视频也会进行一些剪辑,比如像视频旋转/翻转,这里为大家分享一些简单的操作的小技巧,一起来看操作步骤。 先来查看多个视频同时翻转后的效果 水平翻转的效果: 垂直翻转的效果: 下面…

视频剪辑技巧,同时剪辑两种效果操作

遇到想要批量剪辑视频时,如何给视频同时添加上两种效果剪辑呢?下面就以给多个视频添加滚动字幕水印,并让视频有渐入效果播放为例,一起来操作批量剪辑多个视频的步骤,希望以后可以用到。 准备工具: 下载一个…

新手必学的几个视频剪辑技巧

在视频崛起的时代,B站和抖音等平台的视频都非常火爆,如果你还不会剪辑视频怎么办?今天小编给大家分享一些技巧,轻松上手,学会剪辑。 首先要给大家推的是一个新手和老手都必选的剪辑工具——视频剪辑高手,界…

如何在线剪辑视频,视频剪辑技巧分享

在这个视频盛行的年代,人人都在拍摄视频、剪辑视频,那么当你拥有多个视频的时候,该如何进行剪辑呢? 声音 打开视频剪辑高手,对于需要剪辑的视频素材,可能需要对声音进行调整,比如先去声再添加音…