我在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函数仅适用于结果集中的第一个结果,因此对我来说也没有用。
中提取缓存日期答案 0 :(得分:0)
如果路径可以包含子节点(例如<b>
)并且您需要所有子节点中的文本,请使用string
:
hxs.select("string(//table[@class='result']//font/span[@class='g'])").extract()