• 信息标记的三种方式、比较及其提取方式


      1、信息的标记

        标记后的信息可形成信息组织结构,增加了信息维度

        标记后的信息可用于通信、存储或展示

        标记后的结构与信息一样具有重要价值

        标记后的信息更利于程序理解和运用

      2、HTML的信息标记

        HTML是www的信息组织方式。

        HTML是通过预定义的<>....</>标签形式组织不同类型的信息

      3、信息标记的三种方式

        1)、XML

        

        如果标签中没有内容,那么我们可以用一对尖括号表示:

        

        也可嵌入注释内容:

        

        2)、JSON

          有类型的键值对key:value

          注意:

            无论是键还是值,如果是字符串的形式,我们都需要使用双引号来表示,如果是数值,直接写就行。

            如果值中有多个值,我们需用[,]来表示。

            键值对嵌套使用的时候,我们需要用{,}来表示,如:

             

        3)、YAML

           无类型键值对key:value,如:

           

           同时使用缩进的方式来表示所属关系:

           

           用-表达并列关系:

           

          用|表达整块数据 #表示注释

          

      4、三种信息标记的实例

        1)、XML实例

          

        2)、JSON实例

          

        3)、YAML实例

          

      5、三种信息标记形式的比较

        XML 最早的通用信息标记语言,可扩展性好,但繁琐

        JSON 信息有类型,适合程序处理,比XML简洁

        YAML 信息无类型,文本信息比例最高,可读性好。

          而Internet上的信息交互与传递是采用XML格式(HTML也是属于这个范畴的)

          JSON则是用在移动应用云端和节点的信息通信,无注释,

      ·    YAML则是应用在各类系统的配置文件,有注释易读

      6、信息提取的一般方法

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

        即使用标记解析器去解析三种信息标记格式,然后将所需要的信息提取出来。如:bs4库中的标签树遍历

          优点:信息解析准确

          缺点:提取过程繁琐,速度慢

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

        搜索: 

          对信息的文本查找函数即可

          优点:提取过程简洁,速度较快

          缺点:提取结果准确性与信息内容相关

        方法三:融合方法

          结合形式解析与搜索方法,提取关键信息

            需要标记解析器及文本查找函数。

          实例:

            提取HTML中所有URL链接

          思路:

            搜索到所有<a>标签

            解析<a>标签格式,提取href后的链接内容

    import requests
    from bs4 import BeautifulSoup
    #BeautifulSoup是一个类
    r = requests.get('http://python123.io/ws/demo.html')
    
    # print(r.text)
    demo = r.text
    #解析demo的解释器
    soup = BeautifulSoup(demo,'html.parser')
    
    for link in soup.find_all('a'):
        print(link.get('href'))

            

  • 相关阅读:
    使用CodeQL寻找SSTI漏洞
    thinkphp3缓存漏洞
    SecCrawler windows配置
    了解ThinkPHP
    Mybaitsplus 开启SQL日志的两种方式
    找不对自定义typeHandler:java.lang.IllegalStateException: No typehandler found for mapping ...
    Windows编程系列:如何监测某个进程是否退出?
    什么时候在C#中使用结构体?
    解决git在push时,报git authentication failed的问题
    Deep3DFaceRecon_pytorch 运行错误
  • 原文地址:https://www.cnblogs.com/fb1704011013/p/11111465.html
Copyright © 2020-2023  润新知