Python进阶记录之requests模块 !

【Python快速上手(二十九)】- Python requests 模块详解 Python的requests模块是一个用于发送HTTP请求的流行库,它比内置的urllib库更易用且功能强大。requests模块提供了简单的API,可以处理复杂的HTTP请求,处理Cookie、会话、重定向等功能。本文将详细讲解requests模块的基本用法、发送请求、处理响应、会话管理、异常处理和实际应用案例。requests模块是一个用于发送HTTP请求的第三方库,支持HTTP/1.1,并且具有良好的支持和文档。要使用requests模块,首先需要安装它:pip install requests 阅读详情

回顾

   在《Python进阶记录之HTMLParser模块》中,我们介绍了Python内置的HTML解析库HTMLParser的基本用法,并配合urllib模块和re模块实现了获取指定新闻内容的功能。今天我们讲一下Python第三方网络请求库——requests模块。

requests模块简介与安装

   requests是基于Python内置的urllib模块编写而成的,采用的是Apache2 Licensed开源协议的HTTP库,requests封装了urllib库,使用起来比urllib更加方便,可以帮助我们更方便地进行网络请求。

   由于requests模块不是Python内置的资源库,因此,我们需要自己去安装这个第三方库。安装方法很简单,只需使用以下命令即可。

  • Python学习交流群:1004391443
pip install requests

 

   当然,如果你安装了Anaconda,那么它已经帮你安装好了requests模块,直接用就可以了。另外,如果你同时安装了Python2和Python3,那么你可能需要根据开发环境选择使用pip还是pip3命令。

requests模块的简单使用

   requests模块可以实现urllib模块基本上所有的功能,且使用方法更加简单。

  • get请求

 

   requests模块进行get请求调用get( )方法,传入url、headers等参数即可。

 

 

 

 

get请求

   requests自动检测编码,使用encoding属性可以查看当前编码,我们也可以通过修改encoding属性来设置请求时使用的编码。另外,通过content属性可以获取请求结果的二进制模式,用于文件下载。

   get请求也可以带参数,requests模块的get( )方法支持接收字典作为params参数将请求参数传入。

 

 

 

 

get请求带参数

   这里我们借用httpbin这个网站,通过该网站我们可以测试HTTP请求和响应的各种信息,比如 cookie、ip、headers和登录验证等,httpbin支持GET、POST等多种请求方法。

   get请求的参数会自动拼接到url后面,请求后得到相应的请求结果。如果使用urllib的get请求,我们想对请求结果进行json序列化,需要借用json模块,调用json.loads( )方法。而requests对于特定类型的响应非常方便,通过json( )方法就可以直接获取json序列化结果。

  • post请求

 

   requests模块进行post请求调用post( )方法,同样地,它也接收url、headers等参数。我们仍然借助httpbin网站进行post请求测试,与get方法传参使用params参数不同,post请求传参我们将待传参数的字典传给data参数。

 

 

 

 

post请求

   post请求参数不会拼接在url后面。此外,requests模块默认使用application/x-www-form-urlencoded格式对post数据进行编码。我们可以从返回结果中看到,请求参数在form中,并且headers头信息中的Content-Type为application/x-www-form-urlencoded。

   如果我们要传递json数据,只需将原本传给data的请求参数传给json参数即可。

 

 

 

 

传递json数据

   再次运行代码,可以看到,此时请求参数在data中了,并且headers头信息中的Content-Type为application/json。

   如果我们要上传一个文件到服务器,通常需要更复杂的编码格式,但是requests模块帮助我们把这种复杂的编码格式简化成了files参数。

 

 

 

 

上传文件

   使用requests模块的post( )方法,我们只需要将通过open方法打开的文件包装传递给files参数即可。

   此外,requests模块对Cookie做了特殊处理。因此,使用requests模块进行网络请求时,我们不必解析Cookie就可以轻松获取到指定的Cookie信息。

 

 

 

 

Cookie

   通过cookies属性,我们可以得到请求结果的Cookie。当我们知道Cookie具体信息时,还可以通过cookies['key']的方式得到指定的Cookie值,在下一次请求时就可以带上Cookie进行请求了。在编写爬虫的过程中,Cookie是我们经常使用的一个属性,我们通常会在请求时带上Cookie,具体我们在爬虫专题时再深入展开。

总结

   以上内容介绍了Python第三方网络请求库requests模块的基本概念和简单用法,需要重点掌握使用requests模块进行get/post请求。requests模块是我们开发中主要的网络请求工具,在日后的学习与实际开发中会经常遇到。感谢大家的支持与关注,欢迎一起学习交流~

python中urllib与requests知识点记录 除了requests模块可以发送请求之外, urllib模块也可以实现请求的发送,只是操作方法略有不同!urllib在python中分为urllib和urllib2,在python3中为urllib下面以python3的urllib为例进行讲解构造简单请求#构造请求#发送请求获取响应传入headers参数#构造headersMSIE 9.0;#构造请求#发送请求传入data参数 实现发送post请求(示例)​​data = {'pid': '', 阅读详情

相关推荐

Python requests 模块在Windows下安装

Python requests 模块在Windows下安装 前段时间一直在做BI,BI最重要的一个地方就在于数据的获取和处理,最近开始看python,就是想利 python 来制作一个爬虫,利用网站的API来对网站的数据进行爬取。 之后就开始拜读 python 的时候了解网上大神们的爬虫代码,配置环境的时候遇到了这个问题,记录一下小白解决办法的过程。 在 git 上 运行了一个 .py 的文件后如...

sinat_31221327的博客 2018

Python教程:Requests 进阶操作

人生苦短,我用 Python 超时设置 前面我们在介绍 urllib 的时候也介绍过超时,我们现在来看下在 Requests 中的超时应该怎么写。 import requests r = requests.get("https://www.geekdigging.com/", timeout = 1) print(r.status_code) 具体的执行结果小编就不贴了。 注意 time...

Python免费教程 663

python 爬虫请求模块requests

文章目录requestsrequests安装requests库的基本使用响应对象response的⽅法状态码请求⽅式GET请求POST请求请求头requests设置代理cookiesession处理不信任的SSL证书 requests 相比urllib,第三方库requests更加简单人性化,是爬虫工作中常用的库 requests安装 初级爬虫的开始主要是使用requests模块 安装requests模块: Windows系统: cmd中: pip install requests mac系统中: 终端中

xdc1812547560的博客 7707

Requests从入门到进阶

ddd

临渊-测试开发 2859

利用netns做自环Iperf测试

netns可以让一台机器上模拟多个网络设备,是网络虚拟化的重要组成,将不同类型的网络应用隔离。一个net namespace有自己独立的路由表,iptables策略,设备管理。本文利用netns模拟网络来实现单机上网卡自环上的iperf测试或其他网络测试。

weixin_42414349的博客 3370

AirSim安装和地图加载

详细教程如何安装AirSim并加载地图

fegxg的博客 3033

逆向爬虫07 requests进阶(反爬)

逆向爬虫笔记 07

weixin_40743639的博客 2235

Win11家庭版如何让Win+R运行CMD默认管理员权限?3种方法实测有效

本文针对Win11家庭版用户,实测了三种让Win+R运行CMD默认获取管理员权限的有效方法。通过分析UAC机制与家庭版功能限制,详细介绍了注册表编辑、快捷方式创建与任务计划程序三种方案的原理、步骤与风险对比,帮助用户根据安全与效率需求选择最佳方案,实现一键高效管理。

sat99的博客 1273

小白学 Python 爬虫(18):Requests 进阶操作

人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(...

极客挖掘机 3169

ubuntu22.04下对使用linuxdeployqt发布的qt程序进行deb打包操作

【代码】ubuntu22.04下对使用linuxdeployqt发布的qt程序进行deb打包操作。

十三阿哥的博客 1402

总目录- AutoSAR从入门到精通实战系列课程【持续更新中...】

欢迎大家订阅《AutoSAR入门和实战系列》,开始前博主先列出AutoSAR学习的大纲,同时这也可以作为大家学习AutoSAR的参考。想学习和及以及的同学们,可以订阅本博客,本博客一直持续更新中。如果想深入或从本质上学习和理解AutoSAR,打开此链接后,,点击左下方【立即订阅】订阅专栏!!!】......

4万+

头歌requests爬虫-第一关

import requests def get_html(url): ''' 两个参数 :param url:统一资源定位符,请求网址 :param headers:请求头 :return:html ''' # ***************** Begin ******************** # # 补充请求头 headers={"User-Agent": "Mozilla/5.0 (Windows NT.

dearlwy521的博客 1万+

Redhawk:如何gds2def?

使用redhawk gds2def功能 这其中gds_layer.map的书写方式如下: m代表metal,v代表via。 ICC/ICC2用户可以从tech file中获取layer number。 innovus用户可以从stream out layer map中获取layer number。 最后运行gds2def -m gds2def.config即可。 ...

m0_61544122的博客 5342

python3 requests模块_Python进阶记录之requests模块

回顾在《Python进阶记录之HTMLParser模块》中,我们介绍了Python内置的HTML解析库HTMLParser的基本用法,并配合urllib模块和re模块实现了获取指定新闻内容的功能。今天我们讲一下Python第三方网络请求库——requests模块。requests模块简介与安装requests是基于Python内置的urllib模块编写而成的,采用的是Apache2 License...

weixin_39923137的博客 238

【YOLO26创新改进】TGRS 2026 | Transformer变体改进篇 | 使用CGTA曲率引导令牌注意力,改善结构与纹理的整体协调,适合遥感小目标检测、旋转目标检测、实例分割任务

本文在YOLO26目标检测模型中引入CGTA曲率引导令牌注意力模块,依据曲率显著性与特征可靠性,从高分辨率特征图中筛选少量关键令牌,再让全部位置与这些代表性特征进行全局交互,从而以较低计算和显存开销建立远距离目标、背景及跨尺度结构之间的联系;该模块能够重点强化车辆、舰船、飞机、建筑等目标的边缘、转角和弯曲轮廓,改善小目标、密集目标及旋转目标的特征完整性与定位稳定性,并通过可靠性门控抑制噪声和伪边缘,通过标准注意力与曲率注意力融合避免平坦区域被过度增强。

AI魔改博士-中大博士 47

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

python requests模块upgrade_记录来自python-requests模块的所有请求

I am using python Requests. I need to debug some OAuth activity, and for that I would like it to log all requests being performed. I could get this information with ngrep, but unfortunately it is not ...

weixin_39912984的博客 395

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

python2.7安装requests模块

因为python2快要不被维护了,所以安装相应库还费了一些周折。 首先公司电脑不能安装软件,PYTHON2也不是安装的,是KANZI里的一个版本,没有request模块,目前需要用到。但后来又发现没有setuptools模块。 1.所以先安装setuptools: https://pypi.python.org/pypi/setuptools 下载了setuptools-0.6c11版本...

cpq37的专栏 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Devexpress16.2.6破解工具

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

python requests模块upgrade,记录来自python-requests模块的所有请求

I am using python Requests. I need to debug some OAuth activity, and for that I would like it to log all requests being performed. I could get this information with ngrep, but unfortunately it is not ...

weixin_30366015的博客 442

python post 参数_Python进阶记录之requests模块

回顾在《Python进阶记录之HTMLParser模块》中,我们介绍了Python内置的HTML解析库HTMLParser的基本用法,并配合urllib模块和re模块实现了获取指定新闻内容的功能。今天我们讲一下Python第三方网络请求库——requests模块。requests模块简介与安装requests是基于Python内置的urllib模块编写而成的,采用的是Apache2 License...

weixin_39606177的博客 115

python2 requests模块_Python requests模块

准备工作这一部分需要用到request模块,准备工作就是安装request模块。用request.get()发起请求import requests# 1、构造请求的URLurl = "http://..."# 2、创建请求参数params = {"mobilephone": "18012345678","pwd": "123456","regname": "zfy"}headers ={"User...

weixin_40001309的博客 1230

python pip requests 安装失败,采坑记录

1、使用pip命令install requests时,提示以下错误"d:\python\lib\site-packages\pip\_vendor\urllib3\response.py", line 302,刚开始以为自己安装Python环境有问题,就尝试了离线安装的方式,下载地址:https://github.com/psf/requests,在Github下载requests-master...

hello__words的博客 1万+

python post 参数没有拼接到url中_Python进阶记录之requests模块

回顾在《Python进阶记录之HTMLParser模块》中,我们介绍了Python内置的HTML解析库HTMLParser的基本用法,并配合urllib模块和re模块实现了获取指定新闻内容的功能。今天我们讲一下Python第三方网络请求库——requests模块。requests模块简介与安装requests是基于Python内置的urllib模块编写而成的,采用的是Apache2 License...

weixin_42298971的博客 1394

python的requests模块的使用

前言: 在web后台开发过程中,会遇到需要向第三方发送http请求的场景,python中的requests库可以很好的满足这一要求,这里简要记录一下requests模块的使用! 说明: 这里主要记录一下requests模块的如下几点: 1.requests模块的安装 2.requests模块发送get请求 3.requests模块发送post请求 4.requests模块上传文件 更...

qq_24624539的博客 211

Python3下安装Pip以及使用Pip安装requests模块

1 前言 Python版本升级后,使用requests模块时,还需要自己安装一下。刚才使用pip install requests安装Python的一个模块时,发现执行失败 下面把安装requests模块的过程记录下,方便后续忘记。 2 下载pip https://pypi.python.org/pypi/pip#downloads 3 解压pip 下载完成之后,解压到一个文件夹,用CMD控制台进入解压目录,输入: python setup.py install 安装的时候有可能还会出现如下错误,说明s

smilehappiness的博客 8382

python3之Requests模块

requests模块requests介绍一:requests模块入门1.url参数问题2.响应内容响应状态码响应头3.cookie问题概念:基本原理:cookie在request模块中的应用:4.解码编码问题 requests介绍 request模块用于构造模拟http消息的交互,自动化构造模拟http报文交互 笔者建议阅读python中文手册中的request模块,可以对这一模块有更为清晰的认知 request中文手册 一:requests模块入门 模拟发送不同形式的HTTP请求: requests.ge

jrdh的博客 2772
上一篇: 用 Numba 加速 Python 代码,变得像 C++ 一样快 !
下一篇: Python-Iocextract:高级入侵威胁标识符IoC提取工具
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值