使用Google表格的importxml功能刮取TripAdvisor链接无法正常工作

时间:2015-03-07 23:45:31

标签: xpath web-scraping google-sheets

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

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

链接是“Great Vibe,Great Food”这个标题:

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

挑战在于我想从多个TripAdvisor页面(只是最新的评论)中提取类似链接,并且标签内的ID会发生变化。

我尝试过使用XPATH

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

这不起作用。

1 个答案:

答案 0 :(得分: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说“找到任何带有class attribute ='wrap'的元素,然后给我那个元素的href属性的值”。它找到<div class="wrap">,它没有href属性。

您需要找到锚点(元素<a>)并获取其href。由于还有另一个div级别,您需要以下内容:

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

我将留给您分析您需要的特定规则的输入源。最重要的是最终选择<a>元素并从那里获取@href。