爬虫之基础:Requests 简易明了学习笔记

Requests库实现数据抓取与处理功能 本文介绍了Python中常用的第三方库Requests的基本用法和高级功能。我们学习了如何发起HTTP请求、处理响应、使用会话对象、设置代理和证书验证等技巧。Requests库简单易用,功能强大,适用于各种网络操作场景。无论是进行Web开发、爬虫任务还是API访问,Requests库都是一个不可或缺的工具。通过掌握Requests库的使用,我们能够更加高效地进行网络请求和数据交互。希望本文能够帮助读者深入理解Requests库的使用,从而在实际项目中更好地应用。 阅读详情

Python标准库中提供了:urllib、urllib2、httplib等模块以供Http请求,但是,它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。

Requests 是使用 Apache2 Licensed 许可证的 基于Python开发的HTTP 库,其在Python内置模块的基础上进行了高度的封装,从而使得Pythoner进行网络请求时,变得美好了许多,使用Requests可以轻而易举的完成浏览器可有的任何操作。

1、安装:

pip install requests

2、requests常用属性:

response = requests.get(url)
    response.text
    response.content
    response.encoding
    response.apparent_encoding
    response.status_code
            301 永久重定向
            302 临时重定向
    response.cookies.get_dict()

3、requests库的七种方法:

4、支撑所有方法的基础方法:

requests.request(method,url,**kwargs):

method: GET,HEAD,POST,PUT,PATCH.DELETE,OPTIONS
url:数据资源链接
**kwargs:控制访问参数,(为可选项)
    params : 字典或字节序列,作为参数增加到url中
    data : 字典、字节序列或文件对象,作为Request的内容
    json : JSON格式的数据,作为Request的内容
    headers : 字典,HTTP定制头
    cookies : 字典或CookieJar,Request中的auth : 元组支持HTTP认证功能
    files : 字典类型,传输文件
    timeout : 设定超时时间,秒为单位
    proxies : 字典类型,设定访问代理服务器,可以增加登录认证
    allow_redirects : True/False,默认为True,重定向开关
    stream : True/False,默认为True,获取内容立即下载开关
    verify : True/False,默认为True,认证SSL证书开关
    cert : 本地SSL证书
    auth : 元组,支持HTTP认证功能

5、返回对象:Responsen属性

response.text     为字符串,通常需要做解码,一般为:'utf-8' 或 'gbk'
response.content  为字节型,直接转码与上面一样,建议使用 :response.content.decode('utf-8')

6、Requests库的异常

7、Requests的Get函数下载大文件

使用Requests下载大文件
    当使用Requests的Get下载大文件时,建议使用Stream模式。
   当把get()函数的stream设置为False,则为立即下载并放到内存中,由于文件太大容易出现内存消耗怠尽和溢出问题。
   当把get()函数的stream设置为True,则不会直接下载,需要调用:iter_content或iter_lines来遍历内容或访问内容属性时才开始下载**(需要注意:文件没有下载之前,它仍需要保持连接)**
   iter_content:一块一块的遍历要下载的内容
   iter_lines:一行一行的遍历要下载的内容
   使用上面两个函数下载大文件可以防止占用过多的内存,因为每次只下载小部分数据

# 使用Requests下载大文件
response = requests.get("file_url_path",stream = True)
f = open("file_path","wb")
# chunk是指定每次写入的大小,每次只写入512 byte
for chunk in response.iter_content(chunk=512):
    if chunk:
        f.write(chunk)

8、关于会话(Session)及Cookie

先发送post请求,获取cookie,带上cookie请求登陆后的页面 —requests.session() 会话保持 

  • 1.实例化session 
  • session=requests.session()#此时session实例同requests一样 
  • 2.session.post(url,data,headers)#服务器设置在本地的cookie会被保存在被session中

直接携带cookie请求url地址 

  • 1.cookie放在headers中 
  • 2.cookie字典传给cookies参数 
  • cookie=”….”#通过字典推导式得到 
  • cookie_dict={i.split(“=”)[0]: i.split(“=”)[1] for i in cookie.split(“;”)} 
  • requests.get(url,headers=headers,cookies=cookie_dict)

特别说明:关于每个功能测试和学习最好的例子是:

             Python爬虫:requests库基本使用_彭世瑜的博客-优快云博客_使用requests库

Requests 爬取到:requests InsecureRequestWarning: Unverified HTTPS request is being made. (请求不安全请求警告:正在执行未经验证的HTTPS请求。)的解决办法

          在文件顶部加上以下语句就不报错了

import urllib3

urllib3.disable_warnings()

#加上此句后就解决了 爬取Https时提示信息的问题。

最后:

      由于是学习笔记,参考了以下网站的整理,如有侵权部门,提示则删除。

python爬虫入门requests模块_彭世瑜的博客-优快云博客

python爬虫之Requests库入门_嘿,该醒醒了的博客-优快云博客

https://my.oschina.net/u/4382053/blog/3247873

 理工男(作者)自己的公众号:

        一个理工男的成长之路,如果你是理工男,带你“不正经”;如果你想了解理工男,带你认识理工男,他们是生活百事通,他们的生活简约而不简单。

不正经的原则:合规合法,信息保真能看懂,字越少事越大,学到真东西享受真实惠,有兴趣加入我一起“不正经”。

 

Pyhon : 爬虫Requests高级用法--POST 多个分块编码的文件 POST 多个分块编码的文件 你可以在一个请求中发送多个文件。例如,假设你要上传多个图像文件到一个 HTML 表单,使用一个多文件 field 叫做 “images”: 要实现,只要把文件设到一个元组的列表中,其中元组结构为 (form_field_name, file_info): url = ‘http://httpbin.org/post’ multiple_files = [ (‘... 阅读详情

相关推荐

Python 网络爬虫入门与实践:从基础到高级技巧

详细介绍了 Python 网络爬虫的基础知识、常用库、实战案例以及高级技巧

AI+全栈,AI+应用,实操落地,前沿技术 1686

Flask Response生成流式数据api;iter_lines,iter_content流式数据遍历区别

iter_lines()方法是按行读取服务器返回的数据流。它会在遇到换行符或指定的分隔符(delimiter=b"\0")时,将数据流分割成多个块。iter_content()方法会在每次读取到指定大小的数据块时就返回该数据块,而不需要等待换行符或特定分隔符。注意return与def generate():是同级的。

weixin_42357472的博客 2083

网络爬虫:Requests库&&Robots协议

介绍了爬虫的基本概念,Requests库的使用和实战项目,Robots协议的意义

Jingmin Wei's Blog 2052

python requests 高级用法 简介

Requests 允许你使用自己指定的身份验证机制。任何传递给请求方法的。

whatday的专栏 2050

【软碟通 | UltraISO】刻录光盘教程(制作U盘启动盘)

前言 今天老师说办公室的电脑有点卡,让我给重新安装一个 Windows 7 系统。于是就用软碟通(UltraISO)在 U 盘上刻录了一个 Windows 7 镜像,然后给老师重装了系统。顺便把制作 U 盘启动盘的教程也分享给大家。 软件 UltraISO v9.7.1.3519:点击跳转(密码:dd2k) 教程 将 U 盘插到电脑上,然后鼠标右击选择格式化(制作启动盘必须格式化) 点击文件-打开 选择下载好的系统镜像(如:Windows 7) 点击启动-写入硬盘映像 选择硬盘

XavierJ的博客 2万+

振动信号相位测量的关键技术解析

本文深入解析了振动信号相位测量的关键技术,强调相位是振动信号的“身份证”,对于动平衡和故障诊断至关重要。文章详细阐述了键相传感器与振动传感器的选型、安装要点,以及时域和频域(FFT)核心算法,并针对现场噪声、转速波动等挑战提供了实战解决方案,帮助工程师实现精准、稳定的相位测量。

vv45678的博客 838

用Python的requests库作接口测试——对响应进行迭代

使用 requests.Response.iter_lines() 方法,可以很方便地对流式API(例如 Twitter的流式API )的响应进行迭代。 简单地设置 stream 为 True 便可以使用 iter_lines() 对响应进行迭代: import json import requests r = requests.get('http://httpbin.or

刘春明的博客 1661

【FPGA】Robei EDA 的使用(7)—— Robei文件上板试验

#沐朝露兮以自华,觅大道兮以求成 我又滚过来了,研究了20多天RISCV,结果最后因为硬件问题导致无法在比赛中使用RISCV CPU,虽然已经临近比赛后期了,非常的崩溃,但是也没有什么办法。唉,一切不过是从头再来罢了。(写写博客舒缓我心中苦闷) ————————————————进入正文的分割线———————————————— 今天介绍一下如何利用 Robei EDA 生成文件,导入vivado中,综合下载到开发板里。拿我一个PWM控制舵机的代码为例。 Robei EDA设置 假设代码模块(model文件)经

Ninquelote的博客 2561

【Datawhale零基础网络爬虫学习笔记】

本文介绍了零基础网络爬虫的基本概念和学习笔记。爬虫技术可用于自动化获取网络数据,但需遵守robots.txt规范。文章对比了HTTP与HTTPS协议,解释了Web请求过程和服务器渲染与客户端渲染的区别。通过urllib模块示例演示了简单爬虫的实现,并介绍了requests模块的使用。此外,还探讨了请求与响应机制,包括请求头、响应状态码等关键要素,为后续爬虫学习奠定基础。

m0_53118662的博客 3500

SAP FICO 科目余额查询表开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

SAP FICO 科目余额查询表开发说明书(包括开发源代码、测试样例)

我好像病了的博客 1040

⑤单细胞学习-cellchat组间通讯差异分析

参考:

hx2024的博客 1979

网络爬虫基础知识与应用指南

网络爬虫(Crawler),又被称为网页蜘蛛(Spider)、网络机器人,是一种按照一定规则,自动抓取万维网信息的程序或脚本。常见的应用案例包括 Google、百度、Bing 等搜索引擎,它们通过爬虫技术从互联网上获取海量信息并建立索引。

wsygjbr的博客 2335

Python爬虫实战:逆向工程与异步爬虫技术,高效抓取国家知识产权局专利数据

相比于传统的Selenium,Playwright由微软开发,支持多浏览器(Chromium, Firefox, WebKit),API更现代,执行速度更快,并且能轻松录制用户操作生成代码。通常,列表中的摘要信息是缩略的,我们需要进入每个专利的详情页获取完整信息(如主权要求、法律状态等)。我们的第一步是手动操作一遍搜索流程,并用Playwright的“录制”功能或开发者工具,找出真正返回专利数据的那一个或多个网络请求。以友好的、对人类行为模拟的方式爬取数据是基本的网络礼仪,也能有效避免你的IP被封锁。

2201_76125261的博客 2418

小白学Python,网络爬虫篇(1)——requests库

网络爬虫通俗来讲就是使用代码将 HTML 网页的内容下载到本地的过程。爬取网页主要是为了获取网页中的关键信息,例如网页中的数据、图片、视频等。Python 语言中提供了多个具有爬虫功能的库,下面将具体介绍。urllib 库:是 Python 自带的标准库,无须下载、安装即可直接使用。urllib 库中包含大量的爬虫功能,但其代码编写略微复杂。requests 库:是 Python 的第三方库,需要下载、安装之后才能使用。

2201_75607087的博客 3524

TCP/IP工业通信C#极致实现:工业级TcpClient封装 + 粘包拆包彻底解决 + 高频采集专项优化(完整可投产)

在工业自动化、PLC通信、工业传感器/模块、产线高频数据采集等场景中,TCP/IP是绝对主流的通信方式,相比串口/485,具备传输速率高、距离无限制、布线简单、抗干扰强的优势。但工业TCP通信和普通桌面TCP通信有本质区别,工业场景的核心要求是:✔高可靠:7×24小时不间断运行,断网自动重连、异常自动恢复,绝不崩溃;✔无数据错误:彻底解决「粘包、拆包、半包」问题(工业通信第一大坑,90%的通信异常源于此);✔高频采集优化:支持级别的高频读写PLC/设备,无卡顿、无丢帧、CPU占用极低;✔。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 859

UGUI合批杀手:Mask/RectMask2D为何必断合批?

颜色缓冲负责记录像素颜色;模板缓冲负责记录“这个像素的模板值”(一个小整数);渲染时,你可以设定:只有模板值为 X 的地方才允许画;或者往某些区域写特定的模板值。类似于:先拿一支隐形笔在纸上画出一块区域,给它记一个编号“1”,后面的涂色动作只允许涂在“编号为1”的区域上。合批的前提:渲染状态不变,连续元素能一口气画完。材质、贴图、混合模式、Stencil、裁剪区域……都得一致。Mask / RectMask2D 的本质:在渲染状态上加规则——“只在某个区域内允许写像素”。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 117

网络爬虫介绍及简易运用

网络爬虫介绍以及网络爬虫简易运用

ycs_123的博客 1734

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

网络爬虫技术

本文介绍了网络爬虫的基础概念与应用。主要内容包括:1)爬虫定义与分类,分为通用、聚焦、增量式和深层网络爬虫四种类型;2)核心工作原理,涉及HTTP请求过程、响应结构和网页基础;3)常见爬取策略如宽度优先(BFS)和深度优先(DFS)遍历;4)Python中Requests库的使用方法,包括请求发送、响应处理和异常捕获。文章通过百度网页爬取实例,展示了网络爬虫从发送请求到获取响应的完整流程,为初学者提供了网络数据采集的基础知识框架。

2302_78993464的博客 2957

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

网络爬虫解析

网络爬虫(也称为网页蜘蛛、网络机器人)是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫可以用于从网站提取数据,例如监测社交媒体平台上的活动,或者从网上收集新闻和文章。它们也可以用于搜索引擎,如Google和Bing,来抓取和索引网页,以便在用户进行搜索时提供结果。URL通常由多个部分组成,包括协议类型(如HTTP、HTTPS)、主机名(域名或IP地址)、路径(资源在主机上的位置)以及可选的查询参数(用于传递额外的信息)。通过URL,用户可以方便地访问和定位到特定的网络资源。

2301_82032652的博客 2628

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

网络爬虫:Requests库入门

Requests库主要有七个方法: 1.requests.request() 构造一个请求,支撑以下各方法的基础方法(以下的方法都是通过调用该方法实现的) 2.requests.get() 获取HTML网页的主要方法,对应于HTTP的GET 3.requests.head() 获取HTML网页头信息的方法,对应于HTTP的GET 4.requests.post() 向HTML网页提交POST请求的...

MilkLeong的博客 4002

Python网络爬虫

网络爬虫(英语:web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人。通俗来讲,网络爬虫就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。

zgl040803的博客 2635

python网络爬虫——requests包

在左侧的资源中找到需要请求的网页,单击需要请求的网页,在heades(标头)中可以看到requests headers(请求标头)的详细信息。除了GET请求外,有时还需要发送一些编码为表单的形式的数据,如在登录的时候请求就位post,因为如果用get请求,密码就行显示在URL中,这个非常不安全。在网络爬虫中,静态网页的数据比较容易获取,因为所有数据都呈现在网页的HTML代码中。requests并不会给予定制的请求头headers的具体情况改变自己的行为,只是在最后的请求中,所有的请求头信息都会被传递进去。

maizeman126的博客 3171

python网络爬虫基础:requests库的应用

详细介绍了网络爬虫库requests库的应用,适应于绝大部分的爬虫设计,包括基础属性、方法与进阶构造。

2201_75415299的博客 2110

Python网络爬虫之requests库

①urllib库:Python自带的标准库,代码编写略微复杂②requests库:第三方库,在urllib库的基础上建立的,但使用起来更简洁方便③scrapy库:第三方库,是一个专业应用程序开发的网络爬虫库④selenium库:第三方库,可用于驱动计算机中的浏览器执行相关命令,而无需用户手动操作。

weixin_72931638的博客 2319

网络爬虫-Python网络爬虫和C#网络爬虫

C# 也可以用于网络爬虫开发,通过 HTTP 请求获取网页数据并进行解析。与 Python 类似,C# 也有相应的库和框架,虽然 C# 网络爬虫在简便性和灵活性上不如 Python,但在某些企业级应用中,C# 也表现出色。

weixin_42462436的博客 3400

网络爬虫基础总结

网络爬虫基础总结网络爬虫1. 爬虫简介网页结构合理的创建标题,有助于目录的生成2.BeatufulSoup 解析网页3.更多请求/下载方式4.加速你的爬虫5.高级爬虫 这篇文章是对莫烦pyhton爬虫基础课进行一个总结,详细教程大家可以参考学习官网:https://morvanzhou.github.io/tutorials/data-manipulation/scraping/ 网络爬虫 对于网...

时光的博客 2967
上一篇: 正式开始:技术相关
下一篇: Python 打包EXE,最小可用大小
Alexantao
博客等级 码龄19年 86粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值