首页 > 其他分享 >基于BS4的遍历方法及BS4库的HTML格式化和编码

基于BS4的遍历方法及BS4库的HTML格式化和编码

时间:2022-09-26 10:34:58浏览次数:54  
标签:遍历 BS4 标签 soup HTML 节点

一、基于BS4的遍历方法

1.html基本格式
在这里插入图片描述
2.便签树的遍历方法
在这里插入图片描述

(1)标签树的下行遍历

属性说明
.contents 子节点的列表,将所有儿子节点存入列表
.children 子节点的迭代类型,与.content类似,用于循环遍历儿子节点
.descendants 子孙节点的迭代类型,包含所有子孙节点,用于循环遍历

遍历儿子节点

for child in soup.body.children:

print(child)

遍历子孙节点
for child in soup.body.descendants
print(child)

(2)标签树的上行遍历

属性说明
.parent 节点的父亲标签
.parents 节点先辈标签的迭代类型,用于循环遍历先辈节点

(3)标签树的平行遍历

属性说明
.net_sibling 返回按照HTML文本顺序的下一个平行节点标签
.previous_sibling 返回按照HTML文本顺序的上一个平行节点标签
.next_siblings 迭代类型,返回按照HTML文本顺序的后续所有平行节点标签
.previous_siblings 迭代类型,返回按照HTML文本顺序的前续所有平行节点标签

在这里插入图片描述
在这里插入图片描述

二、BS4库的HTML格式化和编码

1.bs4库的prettify()方法

1 print(soup.a.prettify())
 

2.编码
bs4会将所有读取到的文件或字符串都转换为utf-8格式,这是一种国际通用的编码语言,可以很好支持中文等第三方语言

1 >>>soup = BeautifulSoup("< p >中文< /p >","html.praser")
2 >>>soup.p.string
3 '中文'
4 >>>print(soup.p.prettify())
5 < p > 
6  中文
7  </p>

 

 
 

标签:遍历,BS4,标签,soup,HTML,节点
From: https://www.cnblogs.com/hushaojun/p/16729996.html

相关文章

  • 11. NumPy遍历数组
    1.前言NumPy提供了一个nditer迭代器对象,它可以配合for循环完成对数组元素的遍历。下面看一组示例,使用arange()函数创建一个3*4数组,并使用nditer生成迭代器对......
  • 二叉树的遍历方式(创建,遍历,执行)
    //binarytree.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。//#include<iostream>usingnamespacestd;typedefstructNODE{charch;N......
  • 迭代器遍历对象 快速失败和安全失败
    一、快速失败(fail—fast)在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出ConcurrentModificationException。原理:迭......
  • 【前端必会】HtmlWebpackPlugin 和 SplitChunksPlugin 是什么?
    背景了解什么是webpack插件,在来看一下不能不知道的两个插件HtmlWebpackPlugin有了这个插件,webpack执行后会自动帮我们在dist目录生成一个html文件,并且添加bundle.js的......
  • 数组遍历的方法
    数组遍历的方法forEach类似与for循环不会改变原数组将数组中的2全部加1constarr=[1,2,3,2]varnewArr=[]arr.forEach(v=>{if(v===2){v=v+1}......
  • Argument of type 'HTMLElement | undefined' is not assignable to parameter of typ
    问题描述在ts中我们为变量(比如:A)定义了HTMLElement数据类型或者其他数据类型后,在后续的使用中ts会认为上面绑定的变量(A)可能没有绑定到对应的元素上所以会认为变量的值......
  • 二叉树遍历
    应用实例代码实现publicclassBinaryTreeDemo{ publicstaticvoidmain(String[]args){ //先需要创建一颗二叉树 BinaryTreebinaryTree=newBinary......
  • html换行的方法
     1、使用<br>1<html>2<body>3<p>4春眠不觉晓,<br/>处处闻啼鸟。<br/>夜来风雨声,<br/>花落知多少。5</p>6</body>7</html> 2、使用<P><P>是空白行,......
  • 我们对 HTML 和其他可访问性更改的首次研究
    我们对HTML和其他可访问性更改的首次研究本周,我重温了我的青春时光,并与一些新学徒一起参加了卡迪夫的Fresher'sFayre。尽管感觉自己已经100岁左右,但我还是设法吃到......
  • html中select option原生JavaScript按照value值 或 按照文本 选择指定选项
    每次搜索大家都在说JQ。。但是我只会用原生js  因为强迫症 不想因为一个小功能引入一个大的js文件以下是原生JavaScript按照value值或按照文本选择指定的optio......