网站建设方案免费下载/山西优化公司

网站建设方案免费下载,山西优化公司,湖州专业网站建设公司,wordpress账号admin目录 第二章 基本库的使用 2.1 urllib的使用 1 发送请求 2 处理异常 3 解析链接 4 分析Robots协议 2.2 requests的使用 1 准备工作 2 实例引入 3 GET请求 4 POST请求 5 响应 6 高级用法 2.3 正则表达式 1 实例引入 2 match 3 search 4 findall 5 sub 6 com…

目录

第二章 基本库的使用

2.1 urllib的使用

1 发送请求

2 处理异常

3 解析链接

4 分析Robots协议

2.2 requests的使用

1 准备工作

2 实例引入

3 GET请求

4 POST请求

5 响应

6 高级用法

2.3 正则表达式

1 实例引入

2 match

3 search

4 findall

5 sub

6 compile

2.4 httpx的使用

1 示例

2 安装

3 基本使用

4 client对象

5 支持http/2.0

6 支持异步请求


第二章 基本库的使用

最基础的http包括urllib、requests、httpx。

2.1 urllib的使用

使用urllib可以实现http请求的发送,著需要指定请求的url、请求头、请求体等。此外,urllib还可以把服务器返回的响应转换为python对象。

1 发送请求

使用urllib库中的request模块,可以方便地发送请求并得到响应。

  • urlopen
import urllib.requestresponse = urllib.request.urlopen('https://www.python.org')
print(response.read().decode('utf-8'))# 利用type方法输出响应的类型
import urllib.requestresponse = urllib.request.urlopen('https://www.python.org')
print(type(response))
print(response.status)
print(response.getheaders)
print(response.getheader('Server'))# urlopen方法的API
urllib.request.urlopen(url, data=None, [timeout,]*, cafile=None, capath=None, cadefault=Flase, contexy=None)
  • data参数:可选,如果传递了这个参数,请求方式是post(模拟表单提交)。在添加该参数,需要使用bytes方法将参数转化为字节流编码格式的内容,即bytes类型。

运行结果:

  • timeout参数,设置超时时间,单位为秒。如果请求超出了设置的这个时间,还没有得到响应,就会抛出异常。如果不指定该参数,则会使用全局默认事件。

或如下:

  • 其他参数:context参数,必须是ssl.SSLContext类型,用来指定SSL的设置;cafile和capath分别用来指定CA证书和其路径;cadefault参数现在已经启用了,默认值为false。
  • request

  • 高级用法:handler,可以理解为各种处理器,包括登陆验证、处理cookie、处理代理设置。

  • 验证:适用于启用了基本身份认证的网站

  • 代理

  • cookie

获取网站的cookie:

运行结果:

(输出了每条cookie条目的名称和值)

输出文件格式的内容:

1.txt格式

2.lwp格式

通过load方法读取本地的cookie文件,获取其中内容。

2 处理异常

当出现问题时,request模块便会抛出error模块中定义的异常。

  • URLError

  • HTTPError

3 解析链接

  • urlparse

  • urlunparse

  • urlsplit

  • urlunsplit

  • urljoin

  • urlencode

  • parse_qs

  • parse_qsl

  • quote

  • unquote

4 分析Robots协议

利用urllib库的robotparser模块,可以分析网站的robots协议。

  • Robots协议

  • 爬虫名称

  • robotparser

2.2 requests的使用

1 准备工作

pip install requests

2 实例引入

3 GET请求

  • 基本实例

  • 抓取网页

  • 抓取二进制数

  • 添加请求头

4 POST请求

5 响应

6 高级用法

  • 文件上传

  • cookie设置

  • session维持

  • SSL证书验证

  • 超时设置

  • 身份认证

  • 代理设置

  • prepared request

2.3 正则表达式

1 实例引入

2 match

  • 匹配目标

  • 通用匹配

  • 贪婪与非贪婪

  • 修饰符

  • 转义匹配

3 search

4 findall

5 sub

6 compile

2.4 httpx的使用

对于强制使用http2.0协议的网站,使用urllib和requests是无法爬取数据的。这时,需要要用到支持http/2.0的请求库,比较有代表性的是hyper和httpx。

1 示例

2 安装

pip install httpx

pip install 'httpx[http2]'

3 基本使用

4 client对象

5 支持http/2.0

6 支持异步请求

来源:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文件上传漏洞与phpcms漏洞安全分析

目录 1. 文件上传漏洞简介 2. 文件上传漏洞的危害 3. 文件上传漏洞的触发条件 1. 文件必须能被服务器解析执行 2. 上传目录必须支持代码执行 3. 需要能访问上传的文件 4. 例外情况:非脚本文件也可能被执行 4. 常见的攻击手法 4.1 直接上传恶意文件 4.2 文件…

2025.3.2机器学习笔记:PINN文献阅读

2025.3.2周报 一、文献阅读题目信息摘要Abstract创新点网络架构实验结论不足以及展望 一、文献阅读 题目信息 题目: Physics-Informed Neural Networks of the Saint-Venant Equations for Downscaling a Large-Scale River Model期刊: Water Resource…

使用IDEA如何隐藏文件或文件夹

选择file -> settings 选择Editor -> File Types ->Ignored Files and Folders (忽略文件和目录) 点击号就可以指定想要隐藏的文件或文件夹

前端基础之脚手架

脚手架结构 目录结构 这里的package.json,存放着我们去执行npm run serve 或是npm run build的脚本文件 package-lock.json中存放着我们使用的外部包的版本类型,相当于maven src下的main.js是整个项目的入口文件 src下的components用于存放组件&#xff…

MacBook上API调⽤⼯具推荐

在当今的软件开发中,API调用工具已经成为了开发者不可或缺的助手。无论是前端、后端还是全栈开发,API的调试、测试和管理都是日常工作中的重要环节。想象一下,如果没有这些工具,开发者可能需要手动编写复杂的CURL命令,…

pgsql行列转换

目录 一、造测试数据 二、行转列 1.函数定义 2.语法 3.示例 三、列转行 1.函数定义 2.语法 3.示例 一、造测试数据 create table test ( id int, json1 varchar, json2 varchar );insert into test values(1,111,{111}); insert into test values(2,111,222,{111,22…

NVIDIA(英伟达) GPU 芯片架构发展史

GPU 性能的关键参数 CUDA 核心数量(个):决定了 GPU 并行处理能力,在 AI 等并行计算类业务下,CUDA 核心越多性能越好。 显存容量(GB):决定了 GPU 加载数据量的大小,在 AI…

《Python实战进阶》No 10:基于Flask案例的Web 安全性:防止 SQL 注入、XSS 和 CSRF 攻击

第10集:Web 安全性:防止 SQL 注入、XSS 和 CSRF 攻击 在现代 Web 开发中,安全性是至关重要的。无论是用户数据的保护,还是系统稳定性的维护,开发者都需要对常见的 Web 安全威胁有深刻的理解,并采取有效的防…

【大数据分析 | 深度学习】在Hadoop上实现分布式深度学习

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈智能大数据分析 ⌋ ⌋ ⌋ 智能大数据分析是指利用先进的技术和算法对大规模数据进行深入分析和挖掘,以提取有价值的信息和洞察。它结合了大数据技术、人工智能(AI)、机器学习(ML&a…

盛铂科技SCP4000射频微波功率计与SPP5000系列脉冲峰值 USB功率计 区别

在射频(RF)和微波测试领域,快速、精准的功率测量是确保通信系统、雷达、卫星设备等高性能运行的核心需求。无论是连续波(CW)信号的稳定性测试,还是脉冲信号的瞬态功率分析,工程师都需要轻量化、…

H5DS编辑器是如何让企业快速构建动态页面

H5DS编辑器核心亮点: 1.拖拽式操作,小白友好:无需设计与代码基础!通过简单拖拽元素、调整文字和动画,即可生成交互式H5页面。内置海量模板和素材库,支持自定义设计风格,轻松适配企业品牌需求。…

[项目]基于FreeRTOS的STM32四轴飞行器: 三.电源控制

基于FreeRTOS的STM32四轴飞行器: 三.电源控制 一.IP5305T芯片手册二.电源控制任务 一.IP5305T芯片手册 注意该芯片低功耗特性,为防止进入待机,每隔一段时间发送一个电平。 官方提供的芯片外围电路设计图: 电气特性: 当负载电流持…

java环境部署

java环境部署 一、准备工作 jrejdkeclipse jdk下载:21和1.8-----官网:Oracle:Java 下载 |神谕 该处选择要依据自身的系统类型选择下载 idea的下载安装:IntelliJ IDEA | Other Versions 二、安装 三、环境配置 四、使用 五、i…

C 语言数据结构(一):时/空间复制度

目录 一、前言 1. 什么是数据结构 2. 什么是算法 二、时 / 空间复杂度 1. 算法效率 2. 时间复杂度 2.1 时间复杂度的概念 2.2 大 O 的渐进表示法 2.3 常见的计算时间复杂度的例子 2.3.1 实例 1 2.3.2 实例 2 2.3.3 实例 3 2.3.4 实例 4 2.3.5 实例 5 &#xff1a…

23种设计模式一览【设计模式】

文章目录 前言一、创建型模式(Creational Patterns)二、结构型模式(Structural Patterns)三、行为型模式(Behavioral Patterns) 前言 设计模式是软件工程中用来解决特定问题的一组解决方案。它们是经过验证…

Beyond Compare for mac v5.0.6.30713 文件对比利器 支持M、Intel芯片

Mac毒搜集到的Beyond Compare是一套超级的文件及文件夹(目录)的比较工具,不仅可以快速比较出两个目录的不同,还可以比较每个文件的内容,而且可以任意显示比较结果。 应用介绍 程序内建了文件浏览器,方便您对文件、文件夹、压缩包…

ProfibusDP主站转ModbusTCP网关如何进行数据互换

ProfibusDP主站转ModbusTCP网关如何进行数据互换 在现代工业自动化领域,通信协议的多样性和复杂性不断增加。Profibus DP作为一种经典的现场总线标准,广泛应用于工业控制网络中;而Modbus TCP作为基于以太网的通信协议,因其简单易…

【杂谈】信创电脑华为w515(统信系统)登录锁定及忘记密码处理

华为w515麒麟芯片版,还有非麒麟芯片版本,是一款信创电脑,一般安装的UOS系统。 准备一个空U盘,先下载镜像文件及启动盘制作工具,连接如下: 百度网盘 请输入提取码 http://livecd.uostools.com/img/apps/l…

数据结构秘籍(四) 堆 (详细包含用途、分类、存储、操作等)

1 引言 什么是堆? 堆是一种满足以下条件的树:(树这一篇可以参考我的文章数据结构秘籍(三)树 (含二叉树的分类、存储和定义)-CSDN博客) 堆中的每一个结点值都大于等于&#xff08…

服务器数据恢复—raid5阵列中硬盘掉线导致上层应用不可用的数据恢复案例

服务器数据恢复环境&故障: 某公司一台服务器,服务器上有一组由8块硬盘组建的raid5磁盘阵列。 磁盘阵列中2块硬盘的指示灯显示异常,其他硬盘指示灯显示正常。上层应用不可用。 服务器数据恢复过程: 1、将服务器中所有硬盘编号…