【发布时间】:2017-06-28 11:55:58
【问题描述】:
import lxml.html
strings = """<p> <!--startprint-->xyz <br>
xyz <br> xyz </p>"""
root=lxml.html.document_fromstring(strings)
for e in root.iter() :
print(e.tag)
打印所有元素的标签值。
html
body
p
<cyfunction Comment at 0x7f6819bb11b8>
br
br
这里html字符串中的注释是<!--startprint-->,它的标签值是<cyfunction Comment at 0x7f6819bb11b8>,我想比较<!--startprint-->的标签值和<cyfunction Comment at 0x7f6819bb11b8>。
import lxml.html
strings = """<p> <!--startprint-->xyz <br>
xyz <br> xyz </p>"""
root=lxml.html.document_fromstring(strings)
for e in root.iter() :
print(e.tag)
print(e.tag == "<cyfunction Comment at 0x7f6819bb11b8>")
结果如下:
html
False
body
False
p
False
<cyfunction Comment at 0x7f6819bb11b8>
False
br
False
br
False
为什么不如下:
html
False
body
False
p
False
<cyfunction Comment at 0x7f6819bb11b8>
True
br
False
br
False
对于<!--startprint-->,标签值为<cyfunction Comment at 0x7f6819bb11b8>,为什么是<cyfunction Comment at 0x7f6819bb11b8> != <cyfunction Comment at 0x7f6819bb11b8>?
开什么玩笑?
【问题讨论】:
-
0x7f6819bb11b8是一个内存地址。每次运行程序时它都会改变。您要解决的问题是什么?
标签: html python-3.x lxml