Python 使用lxml解析HTML-如何在结果列表中保留空内容?
我正在使用lxml解析html文件:Python 使用lxml解析HTML-如何在结果列表中保留空内容?,python,html,parsing,lxml,lxml.html,Python,Html,Parsing,Lxml,Lxml.html,我正在使用lxml解析html文件: from lxml import html tree = html.parse(myfile) data = tree.xpath('//p/text()') 我的html文件中有300个文本标记,但是len(data)只有250个,因为有时候我的html中会有。我希望这些数据以'nan'或'的形式包含在数据中 关于如何执行此操作的任何建议?//p/text()只会发现p元素的文本具有非空文本 相反,找到所有p元素,并为每个元素调用.text\u con
from lxml import html
tree = html.parse(myfile)
data = tree.xpath('//p/text()')
我的html文件中有300个文本
标记,但是len(data)
只有250个,因为有时候我的html中会有
。我希望这些数据以'nan'
或'
的形式包含在数据中
关于如何执行此操作的任何建议?//p/text()
只会发现p
元素的文本具有非空文本
相反,找到所有p
元素,并为每个元素调用.text\u content()
:
data = [p.text_content() for p in tree.xpath('//p')]
要证明差异,请执行以下操作:
>>> from lxml import html
>>>
>>>
>>> data = """
... <p>text1</p>
... <p></p>
... <p>text2</p>
... """
>>>
>>> tree = html.fromstring(data)
>>> data = tree.xpath('//p/text()')
>>> len(data)
2
>>>
>>> data = [p.text_content() for p in tree.xpath('//p')]
>>> len(data)
3
>>从lxml导入html
>>>
>>>
>>>data=”“”
…text1
…
…text2
... """
>>>
>>>tree=html.fromstring(数据)
>>>data=tree.xpath(“//p/text()”)
>>>len(数据)
2.
>>>
>>>data=[tree.xpath('//p')中p的p.text_content()
>>>len(数据)
3.