Ruby 如何使用xpath抓取具有特定id值的注释

Ruby 如何使用xpath抓取具有特定id值的注释,ruby,xpath,web-crawler,Ruby,Xpath,Web Crawler,在这里,我使用xpath对amazon的某个页面进行爬网。 这里,页面的代码如下所示(部分) 但是,这并不会使映射的内容,而是title包含注释的所有标题。如何有效地划分这样的结构化DOM?使用启动XPath,使其相对于当前上下文元素:review.XPath(“.//a[@data hook=”)启动XPath,使其相对于当前上下文元素:review.XPath(“.//a[@data hook=”)这不起作用这也不行 <div id="cm-cr-dp-review-list" dat

在这里,我使用xpath对amazon的某个页面进行爬网。 这里,页面的代码如下所示(部分)


但是,这并不会使映射的内容,而是
title
包含注释的所有标题。如何有效地划分这样的结构化DOM?

使用
启动XPath,使其相对于当前上下文元素:
review.XPath(“.//a[@data hook=”)
启动XPath,使其相对于当前上下文元素:
review.XPath(“.//a[@data hook=”)
这不起作用这也不行
<div id="cm-cr-dp-review-list" data-hook="top-customer-reviews-widget" class="a-section review-views celwidget">
  <div id="R3FBEIWJLE4KEI" data-hook="review" class="a-section review">
  <div id="R1G0...." >
    r = Nokogiri::HTML(revised_content)
    reviews = r.xpath("//div[@class='a-section review-views celwidget']").map.with_index do |review, _ii|
    binding.pry
    {
        title: make_japanese(review.xpath("//a[@data-hook='review-title']/text()").to_s),
        content: make_japanese(review.xpath("//div[@data-hook='review-collapsed']/text()").to_s)
    }
    end