Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在匹配html或xml标记时,是否应该担心大小写?_Python_Html_Xml - Fatal编程技术网

Python 在匹配html或xml标记时,是否应该担心大小写?

Python 在匹配html或xml标记时,是否应该担心大小写?,python,html,xml,Python,Html,Xml,如果您正在解析html或xml(使用python)并查找某些标记,则降低整个文档的大小写可能会影响性能,以便比较准确。xml和html文档在其标记中使用大写字符的百分比(估计)是多少?xml(和XHTML)标记区分大小写。。。所以和是不同的元素 然而,很多(粗略估计)HTML(不是XHTML)标记是随机大小写的。XML(和XHTML)标记是区分大小写的。。。所以和是不同的元素 然而,很多(粗略估计)HTML(不是XHTML)标记都是随机大小写的。只有在使用XHTML时才是如此,因为它是区分大小写

如果您正在解析html或xml(使用python)并查找某些标记,则降低整个文档的大小写可能会影响性能,以便比较准确。xml和html文档在其标记中使用大写字符的百分比(估计)是多少?

xml(和XHTML)标记区分大小写。。。所以
是不同的元素

然而,很多(粗略估计)HTML(不是XHTML)标记是随机大小写的。

XML(和XHTML)标记是区分大小写的。。。所以
是不同的元素


然而,很多(粗略估计)HTML(不是XHTML)标记都是随机大小写的。

只有在使用XHTML时才是如此,因为它是区分大小写的,而HTML则不是,所以您可以忽略大小写差异。在担心检查大小写之前先测试doctype。

只有在使用XHTML时,因为它区分大小写,而HTML则不区分大小写,所以可以忽略大小写差异。在担心检查案例之前先测试doctype。

我认为您过于担心性能。如果您谈论的是任意网页,那么其中90%将是HTML,而不是XHTML,因此您应该进行不区分大小写的比较。字符串的小写速度非常快,应该少于解析器总时间的1%。如果您不确定,请在已经全部使用小写的文档上仔细计算解析器的时间,包括是否使用小写转换

与解析的其余部分相比,即使是lower()的纯Python实现也可以忽略不计,但它比这更好——CPython在C代码中实现lower(),因此它确实是尽可能快的


记住,过早优化是万恶之源。首先要使程序正确,然后快速运行。

我认为您过于关注性能。如果您谈论的是任意网页,那么其中90%将是HTML,而不是XHTML,因此您应该进行不区分大小写的比较。字符串的小写速度非常快,应该少于解析器总时间的1%。如果您不确定,请在已经全部使用小写的文档上仔细计算解析器的时间,包括是否使用小写转换

与解析的其余部分相比,即使是lower()的纯Python实现也可以忽略不计,但它比这更好——CPython在C代码中实现lower(),因此它确实是尽可能快的


记住,过早优化是万恶之源。首先要使程序正确,然后快速运行。

效率到底有多低?图书馆应该为你处理。另外,你可以自己写,非常高效的扫描仪:)对不起,我的水晶球现在坏了。所以,爬整个网络,自己估算一下>:)效率到底有多低?图书馆应该为你处理。另外,你可以自己写,非常高效的扫描仪:)对不起,我的水晶球现在坏了。所以你可以爬整个网络,自己估算一下>:)当然,web上充斥着doctype写着XHTML的网站,但如果根节点上没有名称空间,则任何解析器都会跳转到quirksmode,如果它不是XML,只需忽略这些情况,因为作者可能有意将代码从其他20个页面中过滤出来。当然,web上充斥着doctype是XHTML的网站,但是如果根节点上没有名称空间,那么任何解析器都会跳转到quirksmode,如果它不是XML的话,只需忽略这些情况,就像作者可能想要的那样,因为代码是从其他20个页面中过滤出来的。