HTML解析是什么意思?

HTML解析是什么意思?,html,parsing,html-parsing,Html,Parsing,Html Parsing,我听说过HTML解析器库,比如简单HTMLDOM和HTML解析器。我还听说过一些包含HTML解析的问题。解析HTML意味着什么?解析通常适用于任何计算机语言,是将代码作为文本并在内存中生成计算机可以理解和使用的结构的过程 特别是对于HTML,HTML解析是获取原始HTML代码、读取它并从中生成DOM树对象结构的过程。与Spudley所说的不同,解析基本上是将(一个句子)分解为其组成部分并描述其语法角色 根据维基百科的说法,解析或句法分析是根据形式语法的规则,用自然语言或计算机语言分析一串符号的过

我听说过HTML解析器库,比如简单HTMLDOM和HTML解析器。我还听说过一些包含HTML解析的问题。解析HTML意味着什么?

解析通常适用于任何计算机语言,是将代码作为文本并在内存中生成计算机可以理解和使用的结构的过程


特别是对于HTML,HTML解析是获取原始HTML代码、读取它并从中生成DOM树对象结构的过程。

与Spudley所说的不同,解析基本上是将(一个句子)分解为其组成部分并描述其语法角色

根据维基百科的说法,解析或句法分析是根据形式语法的规则,用自然语言或计算机语言分析一串符号的过程。术语解析来自拉丁语pars(oratios),意思是词性

在您的例子中,HTML解析基本上是:接收HTML代码并提取相关信息,如页面标题、页面中的段落、页面中的标题、链接、粗体文本等

解析器: 解析内容的计算机程序称为解析器。通常有两种解析器:

自顶向下解析-自顶向下解析可被视为试图通过使用给定形式语法规则的自顶向下扩展搜索解析树来查找输入流最左边的派生。代币从左到右消费。包容性选择通过扩展语法规则的所有可选右侧来适应歧义

自底向上解析-解析器可以从输入开始,并尝试将其重写为开始符号。直观地说,解析器尝试定位最基本的元素,然后是包含这些元素的元素,依此类推。LR解析器是自底向上解析器的示例。用于这种类型解析器的另一个术语是移位-减少解析

几个示例解析器: 自顶向下的解析器:
自下而上的解析器:
  • 优先分析器
  • BC(有界上下文)解析
  • (从左到右,最右边的派生)
    • 简单LR(SLR)解析器
示例解析器: 以下是python中的HTML解析器示例:

from HTMLParser import HTMLParser

# create a subclass and override the handler methods
class MyHTMLParser(HTMLParser):
    def handle_starttag(self, tag, attrs):
        print "Encountered a start tag:", tag
    def handle_endtag(self, tag):
        print "Encountered an end tag :", tag
    def handle_data(self, data):
        print "Encountered some data  :", data

# instantiate the parser and fed it some HTML
parser = MyHTMLParser()
parser.feed('<html><head><title>Test</title></head>'
            '<body><h1>Parse me!</h1></body></html>')
工具书类

我认为大多数编程词汇都会有“解析”的定义。我想当人们谈论HTML解析时,他们真正的意思是HTML反序列化——将字符流转换为对象模型的过程,如Spudley所述。正如Anshuman Dwibhashi指出的那样,解析实际上意味着更具体的东西,但根据我的经验,在术语“HTML解析”的上下文中,解析并不是通常的意思,您添加到问题中的
parsing
html parsing
标记都具有标记wiki信息,可以为您提供所需的答案。只需将鼠标悬停在标签上和/或单击标签即可了解更多信息。“在您的例子中,HTML解析基本上是接收HTML代码并提取相关信息,如页面标题、页面段落、页面标题、链接、粗体文本等。”我想那句话中有一两个或二十个逗号太多了。。。你可能想至少链接到维基百科的文章。好的,1分钟,我会修改,请参考哪一个?
Encountered a start tag: html
Encountered a start tag: head
Encountered a start tag: title
Encountered some data  : Test
Encountered an end tag : title
Encountered an end tag : head
Encountered a start tag: body
Encountered a start tag: h1
Encountered some data  : Parse me!
Encountered an end tag : h1
Encountered an end tag : body
Encountered an end tag : html