信息标记与提取方法

——信息标记的三种方法

1.XML(扩展标记语言) 图片来自mooc网Python网络爬虫与信息提取的课程

通过标签形式构建内容
最早的通用信息标记语言,扩展性非常好,繁琐
internet上的信息交互与传递

2.JSON(javascript 中对面向对象信息的一种表达形式)

图片来自mooc网Python网络爬虫与信息提取的课程
有类型的键值对构建的信息表达
适合程序处理,比较简洁
移动应用云端和节点的信息通信,无注释

3.YAML(YAML不是一种标记语言)

图片来自mooc网Python网络爬虫与信息提取的课程
无类型的键值对 Key : value
有效信息比例最高的,可读性高
各类系统的配置文件,有注释易读
通过缩进来表达所属关系
用-表示并列关系,一个key : -value -value2
用|表示一个数据块
#进行注释

——信息提取的一般方法

方法一:完整解析信息的标记形式,再提取关键信息

XML JSON YAML
需要标记解析器 例如:bs4库的标签树遍历
优点:信息解析准确
缺点:提取过程繁琐,速度慢

方法二:无视标记形式,直接搜素关键信息

搜索
对信息的文本查找函数即可
优点:提取过程简介,速度较快
缺点:提取结果准确性与信息内容相关

——基于bs4的HTML查找

.find_all(name,attrs,recursiver,string,**kwargs)

name:要检索的标签名字 为true时查找所有标签
attrs:对标签所属值得检索字符串,可标注属性检测
recurisive:是否对子孙全部检索,默认为True ,recurisive = False将会只对子标签进行检索
string: 标签中字符串区域的检索字符串

find_all()系列的其他方法

.find() 搜索且只返回一个结果,字符串类型,总find_all()参数
.find_parents() 在先辈节点中搜索,返回列表类型,同.find_all()参数
.find_next_siblings() 在后续平行节点中搜索,返回列表类型,同find_all()参数
.find_next_sibling() 在后续平行节点中返回一个结果,字符串类型,同find_all()参数
.find_previous_siblings() 在前序平行节点中搜索,返回列表类型,同find_all()参数
find_previous_sibling() 在前序节点中返回一个结果,返回字符串类型,同find_all()参数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值