<td width="250">
10.03.1984 16:30
<br/>
Lütfi Kırdar, İstanbul
<br/>
<br/>
47-38, 49-58, 8-10
</td>
我想在“td”标签之间获取所有文字。我的代码是mactarih = tree.xpath(“// tr // td [@ width ='250'] // text()”)。但这是错误的。
预期结果是: text = ['10.03.1984 16:30','LütfiKırdar,İstanbul','47-38,49-58,8-10']
答案 0 :(得分:2)
&#34;我的代码是
mactarih=tree.xpath("//tr//td[@width='250']//text()")
。但这是错误的&#34; 。
如果它错了&#39;在它返回空文本或换行符以及正确文本的意义上,您可以使用normalize-space()
过滤掉仅限空格的文本:
mactarih=tree.xpath("//tr//td[@width='250']//text()[normalize-space()]")
快速测试:
>>> from lxml import etree
>>> raw = '''<td width="250">
... 10.03.1984 16:30
... <br/>
... Lütfi Kırdar, İstanbul
... <br/>
... <br/>
... 47-38, 49-58, 8-10
... </td>'''
>>> root = etree.fromstring(raw)
>>> root.xpath("//td[@width='250']//text()[normalize-space()]")
['\n10.03.1984 16:30\n', u'\nL\xfctfi K\u0131rdar, \u0130stanbul\n', '\n47-38, 49-58, 8-10\n']