【发布时间】:2018-08-30 18:48:46
【问题描述】:
在使 xpath 从以下给定的 HTML 节点中提取数据时,我无法从 Div 中的相应元素中提取相应的文本。
<div class="Main">
<div class="Sub">
<div class="Birth">Jack</div>
<span class="Date">
<div><span class="Date">6 June 2018</span></div></span></div>
<div class="Sub">
<div class="Birth">Hurley</div>
<span class="Date"><div><span class="Date">21 June 2011</span></div></span></div>
<div class="Sub">
<div class="Birth">Kate</div>
<span class="Date">
<div><span class="Date">11 May 2013</span></div></span></div>
<div class="Sub">
<div class="Birth">John</div>
<span class="Date">
<div><span class="Date">5 March 2001</span></div></span></div>
我想要的是提取 <div><span class="Date"> 中的日期文本与 <div class="Birth"> 中的文本。
映射数据提取数据的问题
['杰克','赫尔利','凯特','约翰']
通过
xpath('//*[@class="Birth"]/text()').extract() 和
['2018 年 6 月 6 日','2011 年 6 月 21 日','2013 年 5 月 11 日','2001 年 3 月 5 日'] 通过
xpath('//*[@class="Date"]/text()').extract()
是它们不一定要以相同的顺序排列,因此需要在 div 内进行相对映射,因为可以看出 div 类的名称对于所有段都是相同的。
可以肯定的是,对于文本元素 Kate - 日期是 2013 年 5 月 11 日。
【问题讨论】: