2022时政热点事件,2022最新时事新闻热点汇总
2022-11-13
更新时间:2023-01-13 21:33:08作者:51data
源代码:Lib/HTML/__init__。py这个模块定义了操作HTML的工具。
Html.escape(s,quote=True)将字符串S中的字符```````和转换为安全的Html序列。如果您需要在HTML中显示可能包含此类字符的文本,请使用此选项。如果可选标志引号为true,字符(')和(')也将被转换;这有助于包含在用引号分隔的HTML属性中,例如。
Html.unescape(s)将字符串中的所有命名和数字字符引用(例如,)转换为相应的Unicode字符。这个函数使用HTML 5标准为有效和无效字符引用定义的规则,以及HTML 5命名字符引用的列表。
html包中的子模块有:
Html.parser ——具有松散解析模式的HTML/XHTML解析器
HTML . entitiesHTML实体定义
源代码:Lib/html/parser.py
这个模块定义了一个HTMLParser类,它为解析HTML(超文本标记语言)和XHTML文本文件提供了基础。
Class.parser.htmlparser (*,convert _ charrefs=true)创建可以分析无效标记的解析器实例。
如果convert_charrefs为True(默认值),所有字符引用(脚本/样式元素中的字符引用除外)将自动转换为相应的Unicode字符。
HTMLParser类的一个实例用于接受HTML数据,并在标记开始、结束、文本、注释和其他元素标记出现时调用相应的方法。若要实现特定行为,请使用HTMLParser的子类并重载其方法。
这个解析器不检查结束标记是否与开始标记匹配,也不触发由于外部元素的完成而隐式关闭的元素的结束标记处理。
HTMLParser实例有以下方法:
HTMLParser.feed(data)将一些文本填充到解析器中。如果包含完整的元素,则进行处理;如果数据不完整,它将被缓冲,直到填充更多的数据,或者调用close()。数据必须是字符串类型。
HTMLParser.close()强制处理所有缓冲的数据,就像它后面跟有一个文件结束标记一样。这个方法可以由派生类重新定义,以在输入的末尾定义额外的处理,但是重新定义的版本应该总是调用基类HTMLParser的close()方法。
HTMLParser.reset()重置实例。丢失了所有未处理的数据。在实例化阶段隐式调用。
HTMLParser.getpos()返回当前行号和偏移值。
Html.get _ starttag _ text()返回最近打开的开始标记中的文本。这通常不需要结构化,但是对于处理“已部署”的HTML或者以最小的改变重新生成输入(例如,您可以在属性之间保留空格,等等)可能是有用的。).
当遇到数据或标记元素时,将调用以下方法。它们需要在子类中重载。基类的实现中没有实际操作(除了handle_startendtag()):
Html parser.handle _ starttag (tag,attrs)这个方法在标签的开头被调用(例如:)。
tag参数是一个小写标记名。attrs参数是一个(name,value)形式的列表,它包含在带标记的括号中找到的所有属性。名称被转换为小写,值的引号被删除,字符和实体引用被替换。
实例中,对于标记,此方法将按以下形式调用handle _ starttag ('a '[('href '' https://www.cwi.nl/')]。
html.entities中的所有实体引用将被替换为属性值。
HTMLParser.handle_endtag(tag)此方法用于处理元素的结束标记(例如:
)。
tag参数是小写的标记名。
HTML parser . handle _ startendtag(tag,attrs)类似于handle_starttag(),但是当解析器遇到XHTML样式的空标签时,会调用它()。这个方法可以被需要这个特殊词法信息的子类重载;默认实现只是调用handle_starttag()和handle_endtag()。
HTMLParser.handle_data(data)该方法用于处理任意数据(例如:和中的文本节点和内容)。
HTML parser . handle _ entity ref(name)该方法用于处理name;形式的命名字符引用(例如),其中name是一般实体引用(例如:“gt”)。如果convert_charrefs为True,则永远不会调用此方法。
HTMLParser.handle_charref(name)此方法用于处理name和NNN;十进制和十六进制字符引用的形式。例如,等效的十进制形式为,十六进制形式为;在这种情况下,该方法将接收“62”或“x3E”。如果convert_charrefs为True,则永远不会调用该方法。
HTMLParser.handle_comment(data)当遇到注释时调用此方法(例如,此注释将使用' comment '作为参数调用此方法。
Internet Explorer条件注释(condcoms)的内容也被发送到此方法,因此对于,此方法将接收“[if IE 9]IE9特定的内容。
HTMLParser.handle_decl(decl)该方法用于处理HTML doctype声明(例如)。
l参数是标记中的所有内容(例如:“DOCTYPE html”)。
HTMLParser.handle_pi(data)遇到处理指令时调用该方法。数据参数将包含整个处理指令。例如,对于处理指令proc color='red '这个方法将以handle_pi的形式调用(' proc color='red ' ')。它旨在由派生类重载;基类实现中没有实际操作。
Comment HTMLParser类使用SGML语法规则来处理指令。以“”结尾的XHTML处理指令将导致“”包含在数据中。
HTMLParser.unknown_decl(data)当解析器读取到无法识别的声明时,调用此方法。
数据参数是标签中的所有内容。有时候派生类的重载是有用的。基类实现中没有实际操作。
源代码:Lib/html/entities.py这个模块定义了四个字典,html5,name2codepoint,codepoint2name,entitydefs。
Html.entities.html5将html5命名字符引用1映射到等效Unicode字符的字典,如html 5[' gt;']==''请注意,名称中包含结尾分号(例如,“gt;”),但即使没有分号,有些名称也会被标准接受。在这种情况下,名称出现时会带有或不带有“;”。另请参阅html.unescape()。
Html.entities.entitydefs将XHTML 1.0实体定义映射到ISO Latin-1的替代文本字典。
Html.entities.name2codepoint将Html实体名称映射到Unicode代码点的字典。
Html.entities.codepoint2name将Unicode代码点映射到Html实体名称的字典。