python标记_python关于信息标记的三种形式

1, 信息标记的目的:

1.1 信息结构增强,信息维度增加;

1.2 信息内容易于通信,存储,理解,应用;

2,信息标记的三种形式:

2.1 XML:extensible Markup Language,扩展标记语言;

2.1.1 形式:是一种以标签来标记信息的形式,基于HTML语言后发展出的通用形式;

2.1.2 目的:主要用于Internet上的信息交互与传递;

2.1.3 特点:最早的信息标记语言,可扩展性好,但繁琐;

2.1.4 语法:...NavigibleString...

2.2 JSON:JavaScript Object Notation,

2.2.1 形式:有类型的键值对(用双引号标记信息类型)构建的信息表达形式;

2.2.2 目的:主要用于移动应用云端和节点的信息通信,比如程序的接口处理时;

2.2.3 特点:信息有类型,面向对象,有JS语言扩展出的标记形式,适合程序处理,无注释;

2.2.4 语法:(1) 正常键值对 "key" : "value"

(2) 多值键值对 "key" : [ "value1" , "value2" ]

(3) 嵌套键值对 "key" : { "subkey1":"subvalue1" , "subkey2":"subvalue2" }

键常指类的名字,值如果是数字则可以省略双引号;

2.3 YAML: Ain't Markup Language,无类型键值对标记语言;(起初叫做Yet Another Markup Language)

2.3.1 形式:无类型的键值对构建信息的表达形式;

2.3.2 目的:用于各类系统的配置文件;

2.3.3 特点:信息无类型,文本信息比例高,有注释可读性好;

2.3.4 语法:(1)用缩进格式表达所属关系:key:

subkey1:subvalue1

subkey2:subvalue2

(2)用并列格式表达并列关系:key:

value1

value2

(3)用 | 表示数据是块数据,#表示注释: key :| #comment

.......

3,信息提取的三种一般方法:

3.1 形式解析:完整解析信息的标记形式,再提取关键信息;

3.1.1 特点:需要使用标记解析器,例如bs4库的标签树遍历;

3.2 搜索解析:无视标记信息,直接搜索关键信息;

3.2.1 特点:需要使用文本查找函数;

3.3 综合解析:结合形式解析与搜索解析,再提取关键信息;

3.3.1 特点:需要使用标记解析器与文本查找函数;

4,基于bs4库的HTML内容查找方法:

4.1 soup.find_all(name,attrs,recursive,string,**kwargs)

4.1.1 意义:通过参数 搜索对象中(使用soup变量表示对象)相应的信息,以列表形式返回查找结果;

4.1.2 soup.find_all('name') :以列表形式返回所有的name标签;

soup.find_all( [ 'name1' , 'name2' ] ) : 以列表形式返回所有的name1标签和name2标签;

4.1.3 soup.find_all( 'name','attrs_value') :以列表形式返回name标签中属性值包含sttrs_value的所有标签;

soup.find_all(id='value1') :以列表形式返回id属性中值为value1的所有标签;

4.1.4 soup.find_all('name',recursive=True) :默认为True,表示默认对soup对象的子孙节点进行搜索;False表示只搜索soup对象的子节点;

4.1.5 soup.find_all(string="Data") :以列表形式返回包含Data的所有NavigibleString元素;

4.1.6 以下七种扩展方法与soup.find_all()方法具有相同语法:

(1)soup.find() :以字符串形式返回一个搜索结果;

(2)soup.find_parent() :以字符串形式返回一个父辈节点中的搜索结果;

(3)soup.find_next_sibling() :以字符串形式返回一个后序平行节点中的搜索结果;

(4)soup.find_previous_sibling() :以字符串形式返回一个前序平行节点中的搜索结果;

(5)soup.find_parents() :以列表形式返回先辈节点中的所有搜索结果;

(6)soup.find_next_siblings() :以列表形式返回后序平行节点中的所有搜索结果;

(7)soup.find_previous_siblings() :以列表形式返回前序平行节点中的所有搜索结果;

4.1.7 name()等价于name.find_all()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值