使用XPATH </b>提取偶尔带有<b>标签的文本中的日期

时间:2012-06-11 02:43:19

标签: scrapy

我在scrapy shell中使用以下xpath:

hxs.select( “(//表[@类= '结果'] //字体/跨度[@类= 'G'])”)。提取物() 我得到以下结果:

[u'www.bbhouse.lk/administration/preside ... 2012-5-31 - ',u'www.listeningexpress.com/speeches/ kumar 2012-5-27 - ',你'v.youku.com/v_show/id_XNDgwNjc2MzI=.html 2012-5-27 - ',u'www.kumar kumar .com / 2012-6-10 - ',u' www.guao.hk/tag/ kumar 2012-5-26 - ',u'www.myspace.com/kumarkumar/ 2012-5-27 - ']

我想要提取的只是所有这些结果的日期: 2012-5-31,2012-5-27等。

我的问题是有时在两者之间出现的粗体标签,所以我不能直接使用text()函数(另一个问题是我只想要日期)。请注意,我不想使用这样的re()函数:  hxs.select(“(// table [@ class ='result'] // font / span [@ class ='g'])”)。re(r'\ d +')等。

我想仅使用XPATH获得结果。此外,Substring函数仅适用于结果集中的第一个结果,因此对我来说也没有用。

我基本上是从http://www.baidu.com/s?wd=kumar

中提取缓存日期

1 个答案:

答案 0 :(得分:0)

如果路径可以包含子节点(例如<b>)并且您需要所有子节点中的文本,请使用string

hxs.select("string(//table[@class='result']//font/span[@class='g'])").extract()