Python学习第八篇:requests 库学习

Python爬虫学习一——requests库 Python爬虫学习一——requests库Python爬虫学习一requests库 安装requests库 requests库常用方法简介 get方法 robots协议 安装requests库一般来说,anaconda已经安装了requests库(anaconda安装参见Python-opencv环境配置),可以在anaconda中检查是否安装:打开anaconda,选择environment,输 阅读详情

​

Python学习第八篇:requests 库学习

活动地址:优快云21天学习挑战赛

——

这里主要学习requests这个http模块,该模块主要用于发送请求获取响应
urlib 模块也可以实现request模块s能实现的功能,但是用的最多的还是requests 模块, requests的代码简洁 易懂,相对于臃肿的urlib模块,使用requests编写的代码将会更少, 而且实现某-功能将会简单。

下载

pip install requests

或
pycharm 中 setting 里进行下载,也是我常用的方式。
请添加图片描述

——

常用的属性和方法

response = requests.get(url): 发送请求获取的响应对象(最常用)
response = requests.post(url): 发送请求获取的响应对象
response.url: 响应的url;有时候响应的ur1和请求的urI并不一致
response.status_ code: 响应状态码,如:200,404
response.request.headers: 响应对应的请求头
response. headers: 响应头
response.request.cookies: 响应对应请求的cookie; 返回cookieJar类型
response.cookies: 响应的cookie (经过了set- cookie动作; 返回cookieJar类型)
response.json(): 自动将json字符串类型的响应内容转换为python对象 (dict or list)
response.text: 返回响应的内容,str类型
response.content: 返回响应的内容, bytes类型

——

response.text 和 response.content

都可以返回响应的内容。

我这里我直接打印 response.text 的时候,出现报错,应该是关于 gbk 的一些编码问题。不知道为什么我这里会这样。
请添加图片描述

所以我这里打印 response.text 要进行编码一下。

import requests

url = 'http://www.baidu.com'
response = requests.get(url)
print(type(response.text))
print((response.text).encode('utf-8'))

看到类型为 str
请添加图片描述

再看 response.content 的类型为 bytes 。但内容和 response.text 返回的是一样的。

import requests

url = 'http://www.baidu.com'
response = requests.get(url)
print(type(response.content))
print(response.content)

请添加图片描述

——

status_code

状态码可判断此网址能否正常访问。

import requests

url1 = 'http://www.baidu.com'
url2 = 'http://www.baidu.com/admin'
response1 = requests.get(url1)
response2 = requests.get(url2)
print(response1.status_code)
print(response2.status_code)

请添加图片描述

——

header 请求头信息

包含 user-agent、connection 等信息。

import requests

url = 'http://www.baidu.com'

response = requests.get(url)
print(response.request.headers)
print(response.headers)

可以看到其中'User-Agent': 'python-requests/2.25.1' 代表的是浏览器信息,因为这里是用 python 访问的,所以 user-agent 是python 的一些信息。
并且有请求头和响应头。
response.request.headers是请求头 ,response.headers是响应头。
请添加图片描述

比如查看一下浏览器中真实的 header 参数值。F12 打开 “网络” 模块即可看到。
请添加图片描述

同时这些 header 参数也是可以伪造的。

import requests

url = 'http://www.baidu.com'

response = requests.get(url,headers = {'User-Agent':'test','abc':'testabc'})
print(response.request.headers)

header 参数在 get() 请求中添加 headers 参数,需要构造的请求header 参数以字典的形式添加。
请添加图片描述

——

发送 get 参数

通过params构造参数字典
字典中的键值分别表示参数名和参数值。

import requests

url = 'http://www.baidu.com'

response = requests.get(url,params = {'id':'a','uid':123})
print(response.status_code)
print(response.url)

get 参数的话其实方便一点可以直接在 url 上填写即可,如修改请求的 url 为:
url ='http://www.baidu.com/?id=a&uid=123'
请添加图片描述

——

发送post 请求参数

构造 post 请求就不像 get 请求一样可以在 url 上修改即可,在实际应用中 post 请求的数据我们是看不到的,不会显现出参数名信息给我们,像 get 请求的参数名信息就表现在 url 中。
比如在一个登录界面中的用户名和密码参数的传递一般是通过 post 请求。

通过 data 构造参数字典

import requests

url = 'http://www.baidu.com'

response = requests.post(url,data = {'user':'admin','pass':'123456'})
print(response.status_code)
print(response.request.headers)

在python 中也不太好展现出 post 的数据,但是header 中这个content-length 代表的就是 post 数据的长度:user=admin,pass=123456
请添加图片描述

这里给出一个完整的请求包展示:
请添加图片描述

——

header 参数中携带 cookie

cookie 可用于模拟用户信息。服务器识别你为某个用户的信息之一。

和前面演示了的构造 user-agent 参数方法基本一致。

import requests

url = 'http://www.baidu.com'

response = requests.get(url,headers={'Cookie':'test cookie'})
print(response.request.headers)

请添加图片描述

——

proxies 代理参数使用

语法格式:

response = requests.get(url, proxies=proxies)

如

response = requests.get(url,proxies={'http':'http://127.0.0.1:80'})

如果proxies字典中包含有多个键值对,发送请求时将按照ur地址的协议来选择使用相应的代理ip
加上了proxies参数,具体不知道怎么用。。实际情况可能也用不上这个。
​

Python:Requests库的使用 requests库是一个简洁且简单的处理HTTP请求的第三方库,它的最大优点是程序编写过程更接近正常URL访问过程。这个库建立在Python 语言的 urllib3库的基础上,类似这种在其他函数库之上再封装功能、提供更友好函数的方式在Python语言中十分常见。在Python生态圈里,任何人都有通过技术创新或体验创新发表意见和展示才华的机会。 阅读详情

相关推荐

DBC到ARXML:AUTOSAR CAN通信栈自动化配置完整指南

在AUTOSAR架构下,DBC(CAN数据库文件)与ARXML(AUTOSAR XML)分别扮演着描述总线通信和ECU内部配置的关键角色。DBC定义了网络上的报文与信号,而ARXML则是AUTOSAR工具链交换配置数据的标准格式。在实际的ECU开发中,如何将DBC中的通信信息高效、准确地转换为ARXML,并自动生成可编译的CAN通信栈BSW配置,是许多工程师面临的痛点。借助DaVinci Configurator等工具,我们可以通过自动化导入链路消除手工映射带来的字节序错误、信号起始位偏差等高风险问题,大幅

weixin_34183910的博客 540

python请求库requests的安装教程

爬虫可以简单分为几步:抓取页面、分析页面和存储数据。 在抓取页面的过程中,我们需要模拟浏览器向服务器发出请求,所以需要用到一些 Python 库来实现 HTTP请求操作。在本书中,我们用到的第三方库有 requests、Selenium 和 aiohttp 等。 在本节中,我们介绍一下这些请求库的安装方法。 1.2.1 requests 的安装 由于requests 属于第三方库,也就是Python 默认不会自带这个库,所以需要我们手动安装。下面我们首先看一下它的安装过程。 1.相关链接 GitHub:ht

zhi_neng的博客 1万+

主板USB接口全部失效解决方案(通用串行总线USB控制器有黄色叹号)保姆级教程亲测有效

通用串行总线控制器总是有叹号解决办法 办公室的崩腾时代老电脑,疫情期间没人用,来了开机之后发现鼠标键盘都用不了,本以为是主机放时间长出了问题,后来想起来就百度了“鼠标键盘都失效”的标题,结果发现了“串行总线控制器总是感叹号”的关联问题。正好办公室电脑都装有teamviwer常用来远程办公(在家偷懒)。所以通过远程发现电脑室可以运行的。并在控制面板发现:通用串行总线控制器总是感叹号,插入外设时USB无反应。如图:​ 并且右键选中其中一个,点击最后一个选项:“属性” 可以发现“设备状态”中会提示“由...

xiao_bai_0_0的博客 2万+

浏览器提取url至Curl,Curl请求与Python request之间的转化

本文讲了浏览器提取url至Curl,Curl请求与Python request之间的转化的方法,使用curl的时候掌握一些小技巧可以加速工作速度。

qq_33163046的博客 1万+

现代密码学5.3--Hash and MAC

现代密码学5.3--Hash and MAC 博主正在学习INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan Katz, Yehuda Lindell,做一些笔记供自己回忆,如有错误请指正。整理成一个系列现代密码学,方便检索。 第二章定义了完美安全及其对应的密码方案“一次一密”, 第三章介绍了多种安全定义 3.1-3.3 计算安全,PRG和基于PRG构造的满足计算安全的密码方案; 3.4-3.5 CPA安全,PRF和基于PRF构

qq_41545715的博客 686

知识检索中的四大评估指标:准确率、精确率、召回率与F1分数详解

摘要:NLP算法面试中,评估知识检索系统的核心指标包括准确率、精确率、召回率和F1分数。准确率衡量整体预测正确性,但在样本不均衡时可能失真;精确率关注预测正类中的真实比例(查准能力),召回率衡量真实正类被预测的比例(查全能力)。F1分数是两者的调和平均,提供综合评估。这些指标通过混淆矩阵计算,并存在制约关系:提高召回率往往降低精确率,反之亦然。应用场景包括文档检索(评估结果质量和覆盖度)和文本分类(如垃圾邮件过滤)。面试需掌握指标区别、适用场景及平衡方法(如调整阈值)。F1分数在样本不平衡时比准确率更具参考

Ven%的博客 1765

Python中requests库使用方法详解

python中requests库使用方法详解

qq_53381910的博客 5190

IAR调试CC1310的错误:Fatal error:Failed to connect to the XDS emlulator (Error -241 @ 0x0:)

从simplelink_cc13x0_sdk_2_10_00_36导入collector工程后,rebuild后进行debug,出现了如图错误:Fatal error:Failed to connect to the XDS emlulator (connect ICEPick)...(Error -241 @ 0x0)A router subpath could not be accessed....

qq_40417648的博客 6228

2023最新 requests 库的使用(非常详细)从零基础入门到精通,看完这一篇就够了!!!

urllib库使用繁琐,比如处理网页验证和Cookies时,需要编写Opener和Handler来处理。为了更加方便的实现这些操作,就有了更为强大的requests库。

logic1001的博客 3833

Ansys Zemax实战:5步搞定多模光纤耦合效率优化(附IMAE操作数详解)

本文详细介绍了使用Ansys Zemax优化多模光纤耦合效率的5个关键步骤,包括几何图像分析设置、IMAE操作数应用及偏振效应处理。通过实战案例解析,帮助工程师快速掌握光纤耦合效率提升技巧,特别针对IMAE操作数的配置保存机制和菲涅尔损耗控制进行深度讲解。

potato的博客 690

095、PCIE物理层测试模式:从信号眼图到误码率实战

本文介绍了PCIe物理层测试模式的调试方法和实战经验。重点解析了环回测试、合规性测试和静默模式的应用场景及配置要点,分享了信号眼图分析、误码率测试和接收端验证的实用技巧。作者结合自身调试经历,强调物理层测试对排查信号完整性问题的重要性,建议在量产前进行基础测试,并提醒注意芯片勘误和测试模式切换等易错点。通过合理使用测试模式,可显著提高PCIe链路调试效率,确保物理层稳定可靠。

z534437748的博客 60

Python 网络爬虫2:第三方库requests 渗透脚本的编写(SQL注入的EXP,主机发现、端口扫描)

文章目录Python 编写EXPrequests库的使用http方法发送http请求定制头部超时 Python 编写EXP 主要是针对Web 应用中的漏洞,与Web应用进行交互,大多是基于HTTP协议的,所以需要引入一些关于HTTP的模块,例如:第三方模块 requests模块 安装:pip install requests requests库的使用 http方法 GET 获取资源 POST 传输实体主体 PUT 传输文件 HEAD 获得响应报文首部 DELETE

Hi~ 土拨鼠 1991

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Python爬虫 requests库详解

所以,如果请求一个 HTTPS 站点,但是证书验证错误的页面时,就会报这样的错误,那么如何避免这个错误呢?此外,requests 还提供了证书验证的功能。但是一旦开始大规模爬取,对于大规模且频繁的请求,网站可能会弹出验证码,或者跳转到登录认证页面,更甚者可能会直接封禁客户端的 IP,导致一定时间段内无法访问。当然,如果参数都传一个 HTTPBasicAuth 类,就显得有点烦琐了,所以 requests 提供了一个更简单的写法,可以直接传一个元组,它会默认使用 HTTPBasicAuth 这个类来认证。

m0_59236602的博客 1865

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Python的requests库使用总结

Python的requests库使用总结

醉蕤的博客 3872

WINCC7.3破解文件

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

python怎么安装requests库-python怎么安装requests库

requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多因为是第三方库,所以使用前需要cmd安装pip install requests安装完成后import一下,正常则说明可以开始使用了。基本用法:requests.get()用于请求目标网站,类型是一个HTTPresponse类型import requestsresponse = requests.get('ht...

weixin_37988176的博客 2040

如何在Python中使用Requests库?

在Python中,网络请求处理是很多应用开发中的常见需求。Requests库作为Python中最常用的第三方库之一,它能够简化HTTP请求的发送和响应的处理。无论是获取网页内容、与API接口交互,还是提交表单数据,Requests都可以帮助开发者轻松实现。

weixin_43772292的博客 1998

python requests库详解

Requests 是⽤Python语⾔编写,基于urllib,采⽤Apache2 Licensed开源协议的 HTTP 库。它⽐ urllib 更加⽅便,可以节约我们⼤量的⼯作,完全满⾜HTTP测试需求。

满堂花醉三千客,一剑霜寒十四州 3050

python之requests库解析

本文讲requests的基本使用

m0_64408930的博客 1万+

Python3爬虫学习——requests库笔记

简略记录python3库的一些知识: requests安装 requests对象 补充说明 字节类型(byte类型) 文件上传 cookies设置 超时设置 SSL证书验证 Session对象 Response对象属性 响应状态码 状态码查询对象 PreparedRequest对象

e_more_day的博客 865

Python requests库介绍

requests是一个用于发送HTTP请求的Python库。它建立在Python的标准库urllib3之上,但提供了更加简洁、易用的接口。无论是简单的 GET请求、POST请求,还是复杂的HTTP操作,requests 都能轻松应对。与Python标准库中的urllib和urllib2相比,requests的优势在于其简洁性和可读性。它的设计理念是让开发者能够用尽可能少的代码完成复杂的网络请求任务。

m0_46311182的博客 2244

python基础之Requests库

Requests库 Requests库可以帮我们发送http的请求,并处理服务器给我们的响应 不只是浏览器可以通过http协议发送网络请求并获取返回的数据,postman,Jmeter,智能手表等都可以 python的requests库,也可以通过http协议发送网络请求,并获取返回的数据 比urllib库更加简单,使用方便,文档也很全。 requests库的官方文档:http://cn.python-requests.org/zh_CN/latest/ 下载安装requests库 pip3 install

aijaijgnaw的博客 3870

【Python】一文教你如何使用 Requests 库

Requests 库是一个简洁易用的 Python HTTP 库,它基于 urllib3 库,可以用来发送 HTTP 请求,并处理响应结果。Requests 库提供了一种更人性化的接口,让用户更容易地编写 HTTP 请求代码。相比于 Python 自带的 urllib/urllib2 库,Requests 功能更加完整且易用,而且支持多种协议和认证方式,具有更好的扩展性和可读性。

Code_and516的博客 1903

Python Requests库学习

要调用一个接口,需要知道接口的url(域名和地址),接口请求的头信息,接口的请求参数,对于get接口来说,查询参数会定义为params,把请求信息准备好就可以发起接口调用,接口调用可以用requests.get(url=url,params=params)的方式进行调用,我们可以定义一个变量来获取接口响应对象res=requests.get(url=url,params=params),接口响应包含,响应头信息,响应状态码,响应body体数据。一、创建新项目,安装requests库。路径参数的get接口。

m0_75191567的博客 1030

python中urllib库和requests库的选择

通过对比urllib和requests两个库,我们可以发现它们在功能、使用方式和效率上存在差异。urllib作为Python标准库的一部分,具有稳定性和可靠性,但其API相对繁琐,需要更多的代码来实现相同的功能。而requests作为第三方库,提供了更加简洁和人性化的API,具有丰富的功能和高效的性能。在实际项目中,选择哪个库取决于具体需求。如果你只需要发送基本的HTTP请求并且对性能要求不高,可以使用urllib库。它的标准库地位也意味着无需额外安装任何依赖,这对于某些环境可能是一个优势。

jj516585042的专栏 1058

python requests库学习

写在前面 安装requests库只需要pip一条命令,安装python编译环境是一定要勾选将pip安装到环境变量的选项。 pip install requests 查看requests库调用方法 import requests print(dir(requests)) 添加代理 r=requests.get(url,proxies=proxies) proxies是一个字典对象 import requests url="https://www.baidu.com" proxies={ "h

舞动的獾 503
上一篇: Python学习第七篇:sys标准库
下一篇: Python学习第九篇:zipfile 库操作压缩包
Goodric
博客等级 码龄6年 792粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Goodric

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值