在页面上,我有以下HTML源代码:
<div class="date">date1</div>
<div class="company"><div class="time">time1</div>
<a href="company_link1">company_name1</a></div>
<div class="company"><div class="time">time2</div>
<a href="company_link2">company_name2</a></div>
<div class="date">date2</div>
<div class="company"><div class="time">time3</div>
<a href="company_link3">company_name3</a></div>
... etc.
我需要在最后阶段收到以下数组:
array = [[date,time1,company_name1,company_link1],[date,time2,company_name2,company_link2],[date2,time3,company_name3,company_link3],...]
问题是div“class = company”没有日期,所以我需要解析正确的日期并将每个日期添加到所有项目(时间,公司名称,公司链接)。
非常感谢你的帮助,我是Ruby的新手。
PS:我需要使用机械化,因为我的页面只能通过登录来检索。
答案 0 :(得分:3)
嗯,你的date2 div没有正确关闭,但可能是这样的:
doc.css('.company').map{|x| [x.at('./preceding-sibling::div[@class="date"][1]').text, x.at('.time').text, x.at('a').text, x.at('a')[:href]]}