【发布时间】:2020-01-13 10:56:26
【问题描述】:
假设我有一个指向以下 HTML 的 XPath 选择器:
<div>
<p>Hello <a href="foo">fantastic</a> world</p>
<table>
<tr>
<td>first</td>
<td>row</td>
</tr>
<tr>
<td>second</td>
<td>row</td>
</tr>
</table>
</div>
我想以一种只忽略<a> 标签的方式从中提取文本,这样我会得到:
['Hello fantastic world', 'first', 'row', 'second', 'row'].
请注意,fantastic 被视为属于 <p> 标记。
问题是:
-
selector.xpath('.//text()').extract(),我明白了['Hello', 'fantastic', 'world', 'first', 'row', 'second', 'row'] -
'selector.xpath(string(./)).extract()',我明白了['Hello fantastic world first row second row']
如果有人知道如何破解它,将不胜感激!
【问题讨论】:
-
感谢 kjhughes 的编辑。 @whoever downvoted,你能详细说明为什么吗?