Python使用Beautiful Soup及解析html获取元素并提取内容值
Python使用Beautiful Soup及解析html获取元素并提取内容值
- 1. 包括解析获取标题
- 2. 根据标签及id获取所有元素
- 3. 根据标签及class获取所有元素
- 4. 获取元素下的标签的值
- 5. 获取元素下的parent及child的元素的值
- 参考
1. 包括解析获取标题
2. 根据标签及id获取所有元素
3. 根据标签及class获取所有元素
4. 获取元素下的标签的值
5. 获取元素下的parent及child的元素的值
# 使用Python解析html元素的值from bs4 import BeautifulSoupfile_html = 'test/demo.html'
file = open(file_html, "rb")
html = file.read().decode("utf-8")# 通过html.parser解析器把我们的HTML解析成了一棵树
bs = BeautifulSoup(html, "html.parser")print("获取文章title")
print(bs.title)# 根据标签 和 id名称获取所有元素
id_list = bs.find_all('input', id='mSearchInput')# 根据标签 和 class名称获取所有元素
div_class_list = bs.find_all('div', class_='view-num-box')
for i, div in enumerate(div_class_list):# 获取元素的父元素的值print(i, div.text, ' parent: ', div.parent.text)print('-----------------------------------------------------------')
blog_list = bs.find_all('article', class_='blog-list-box')
for i, blog in enumerate(blog_list):print(i, blog.text, '\ntitle: ', bs.find_all('div', class_='blog-list-box-top')[i].text)print(blog.h4.text) # 获取blog的标签下的h4标签的文本print(blog.span.text)print(blog.div, blog.div.next)# 获取contentfor j, content in enumerate(blog.contents):print('contents: ', j, content.text)# 获取childfor j, child in enumerate(blog.children):print('child: ', j, child.text)div_list = bs.find_all('div', class_='user-profile-head-address')
print('div_list: ', div_list[0].text)meta_list = bs.find_all('meta')
for j, meta in enumerate(meta_list):print(j, meta.text, meta.attrs['content'])# 2.NavigableString
print("2. NavigableString的例子:获取title的string内容和div的属性")
print(bs.title.string)
print(bs.div.attrs) # 获取标签中的所有属性,并返回一个字典
# 3.BeautifulSoup
print("3. BeautifulSoup的例子:获取整个html文档的name")
print(bs.name)
# 4.Comment
print("4. Comment的例子:获取a的string")
print(bs.a.string)
参考
- https://blog.csdn.net/qq_42732153/article/details/81105725
- https://blog.csdn.net/qq_50587771/article/details/123870433
相关文章:
Python使用Beautiful Soup及解析html获取元素并提取内容值
Python使用Beautiful Soup及解析html获取元素并提取内容值 1. 包括解析获取标题2. 根据标签及id获取所有元素3. 根据标签及class获取所有元素4. 获取元素下的标签的值5. 获取元素下的parent及child的元素的值参考 1. 包括解析获取标题 2. 根据标签及id获取所有元素 3. 根据标…...
如何清除keep-alive缓存
在 Vue.js 中,使用 <keep-alive> 组件可以将组件保留在内存中,以避免重复渲染和销毁,从而提高性能。如果需要手动清除 <keep-alive> 组件的缓存,可以通过两种方法来实现: 通过 $destroy 方法销毁组件&…...
2024年新手视频剪辑软件推荐-6款视频剪辑软件测评
视频剪辑软件推荐 premiere premiere 直达地址:各大软件网站 说到底,还是得专业的来,虽然很多人觉得他是收费的,但是你懂的,想要免费总是会有办法的.别的不说,剪辑这块,我还是很认可这个软件,虽然我现在还是刚入门. 剪映 剪映 抖音官方推出的一款手机视频编辑剪辑应用,提供切割…...
无货源抖店可以做吗?那些月入上万是真的吗?分享我的成功秘籍
大家好,我是电商花花。 现在还是有人在不停的在问,抖音小店无货源还可以做吗?那些月入上万都是真的吗? 当然是真的,而且做抖音小店非常简单,前提是你真的完全掌握到核心玩法,且要有执行力。 …...
文献阅读:DEA-Net:基于细节增强卷积和内容引导注意的单图像去雾
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 摘要Abstract文献阅读:DEA-Net:基于细节增强卷积和内容引导注意的单图像去雾1、研究背景2、方法提出3、相关知识3.1、DEConv3.3、多重卷积的…...
2024想要赚点小钱真的很容易!帮你们找的10个搞钱第二职业
我们都希望在空闲时间里增加一些额外收入,并有机会找到自己热爱的事业,每天贝兼几十上百元是一个不错的开始,小钱也是钱, 搞钱的经验会积少成多。今天分享10个搞钱第二职业,2024想要赚点小钱真的很容易。 一.摆摊卖花 …...
【Linux网络】再谈 “协议“
目录 再谈 "协议" 结构化数据的传输 序列化和反序列化 网络版计算器 封装套接字操作 服务端代码 服务进程执行例程 启动网络版服务端 协议定制 客户端代码 代码测试 使用JSON进行序列化与反序列化 我们程序员写的一个个解决我们实际问题,满…...
猫头虎分享已解决Bug || 系统监控故障:MonitoringServiceDown, MetricsCollectionError
博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …...
Java中的基本数据类型有哪些
在Java编程语言中,基本数据类型(Primitive Types)是预定义的数据类型,它们不是由用户定义的类创建的,而是由语言本身提供的。这些基本数据类型是构成Java程序的基础,用于存储不同类型的值,如整数…...
二叉树遍历(前中后序的递归/非递归遍历、层序遍历)
二叉树的遍历 1. 二叉树的前序、中序、后序遍历 前、中、后序遍历又叫深度优先遍历 注:严格来说,深度优先遍历是先访问当前节点再继续递归访问,因此,只有前序遍历是严格意义上的深度优先遍历 首先需要知道下面几点: …...
UE4升级UE5 蓝图节点变更汇总(4.26/27-5.2/5.3)
一、删除部分 Ploygon Editing删除 Polygon Editing这个在4.26、4.27中的插件,在5.1后彻底失效。 相关的蓝图,如编辑器蓝图 Generate mapping UVs等,均失效。 如需相关功能,请改成Dynamic Mesh下的方法。 GetSupportedClass删…...
【python】异常处理
前言 省略各种废话,直接快速整理知识点 try-except 基础 作用 程序不可能永远都是对的,当7除a,a由用户输入时,用户输入0就会报错。try-except就是解决这些问题。 结构 多分支自定义错误类型 上方的exception是一个错误类型…...
【xv6操作系统】Lab systems calls
一、实验前须知 阅读 xv6 文档的第 2 章和第 4 章的 4.3 节和 4.4 节以及相关源文件: 系统调用的用户空间代码在 user/user.h 和 user/usys.pl 中。 内核空间代码在 kernel/syscall.h 和 kernel/syscall.c 中。 与进程相关的代码在 kernel/proc.h 和 kernel/proc.c…...
python的scripts文件夹作用
Windows系统: Scripts文件夹通常位于Python的安装目录下,如C:\Python\Scripts。该文件夹内包含了各种有用的工具,例如pip、virtualenv等,这些工具有助于管理和配置Python环境和依赖包。 Linux系统: 在Linux系统中&…...
Discuz论坛网站报错Discuz!Database Error(0)notconnect的解决办法
运营服务器大本营有段时间了,在运营期间遇到两次Discuz!Database Error(0)notconnect报错,和你们分享遇到Discuz报错的解决办法,希望可以帮助到你。 首先网站报错(0)notconnect&…...
掌握mysql,看完这篇文章就够了
数据库 对大量数据进行存储和管理(增删改查) 客户端: 黑窗口终端navicat 熊掌软件数据库分类: 关系型数据库 通过表与表产生关联关系,每个表中都存储结构化数据,支持sql结构化查询语言MysqlOracleSQLS…...
守护Web安全:了解Web攻击与防护策略
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...
变换,动画
面试题——需求:在不知道父元素与子元素的宽高时 如何让子元素在父元素内居中? 1.定位 父相子绝 2.子元素 top:50% left:50% 3.子元素 transform: translate(-50%,-50%) .parent{height: 500px;background-color: red;position: relative;}.c…...
深度解析速卖通商品详情API:Python实战与高级技术探讨
速卖通商品详情API接口实战:Python代码示例 一、准备工作 在开始之前,请确保你已经完成了以下步骤: 在速卖通开放平台注册账号并创建应用,获取API密钥。阅读速卖通商品详情API接口的文档,了解接口的使用方法和参数要…...
背包问题算法
背包问题算法 0-1背包问题二维数组一维数组 完全背包问题二维数组一维数组 多重背包问题一维数组 0-1背包问题 问题:背包的容量为9,有重量分别为[2, 4, 6, 9]的四个物品,价值分别为[3, 4, 5, 6],求背包能装的物品的最大价值是多少…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
