html li标签中的dr,HTML XPath:提取混合了多个标签的文本?

目标:从特定元素(例如li)中提取文本,同时忽略各种混合标签,即展平第一级子元素并简单地分别返回每个展平子元素的拼接文本。HTML XPath:提取混合了多个标签的文本?

例子:

CIA

  1. Central Intelligence Agency.
  2. Culinary Institute of America.

所需的文本:

中央情报局

美国

的烹饪学院除了周围的锚标记防止简单的检索。

要单独返回每个L1标签,我们使用简单:

//div[contains(@id,"mw-content-text")]/ol/li

但也包括围绕锚标签等,并

//div[contains(@id,"mw-content-text")]/ol/li/text()

只返回文本元素是直接的孩子李,即'中央','。'...

看起来很合乎逻辑然后寻找自己和后代的文本元素

//div[contains(@id,"mw-content-text")]/ol/li[descendant-or-self::text]

但是根本没有任何回报!

有什么建议吗?我使用Python,因此我愿意使用其他模块进行后期处理。

(我用的是Scrapy HtmlXPathSelector这似乎的XPath 1.0标准)

2012-05-16

ChaimKut

+0

可能有用:http://stackoverflow.com/questions/4378502/xpath-return-all-non-blank-text-nodes-not-descendant-of-a-style-or-script/6303276 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值