【问题标题】:Scraping TripAdvisor link with Google Sheets' importxml function not working使用 Google 表格的 importxml 功能抓取 TripAdvisor 链接不起作用
【发布时间】:2015-03-07 23:45:30
【问题描述】:

我正在尝试使用谷歌表格中的 importxml 函数从 TripAdvisor 抓取链接。这是一个例子:

http://www.tripadvisor.com/Restaurant_Review-g34127-d491231-Reviews-Celebration_Town_Tavern-Celebration_Florida.html

链接是“伟大的氛围,美味的食物”标题:

/ShowUserReviews-g34127-d491231-r257722735-Celebration_Town_Tavern-Celebration_Florida.html#REVIEWS"

挑战在于我想从多个 TripAdvisor 页面(仅最新评论)中提取相似链接,并且标签中的 id 发生变化。

我尝试过使用 XPATH

"//*[@class='wrap']/@href"

这不起作用。

【问题讨论】:

  • 欢迎来到 Stack Overflow!请edit您的问题为您想要正确抓取的各种页面添加示例 HTML sn-ps。
  • 您将不得不在问题本身中为我们提供输入、预期输出和实际输出的一些示例。 “这不起作用”不足以让我们为您提供帮助。

标签: xpath web-scraping google-sheets


【解决方案1】:

我抓住了一点来源:

<div class="wrap">
  <div class="quote isNew">
    <a href="/ShowUserReviews-g34127-d491231-r257722735-Celebration_Town_Tavern-Celebration_Florida.html#REVIEWS" onclick="ta.setEvtCookie('Reviews','title','',0,this.href); ta.util.cookie.setPIDCookie('4442')" id="rn257722735">&#x201c;<span class='noQuotes'>Great Vibe, Great Food</span>&#x201d;</a>
  </div>

您尝试了//*[@class='wrap']/@href,它说“找到任何具有类属性 = 'wrap' 的元素,并给我该元素的 href 属性值”。它会找到没有 href 属性的&lt;div class="wrap"&gt;

你需要找到锚点(元素&lt;a&gt;)并获取它的href。由于还有另一个 div 级别,因此您需要以下内容:

//div[@class='wrap']/div[@class='quote isNew']/a/@href

我会留给你来分析你需要的特定规则的输入源。重要的部分是最终选择&lt;a&gt; 元素并从那里获取@href。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    相关资源
    最近更新 更多