【问题标题】:How Extract data from html with xpath如何使用 xpath 从 html 中提取数据
【发布时间】:2016-04-15 16:31:42
【问题描述】:

我正在尝试使用 Google 电子表格从 Google 购物提取产品价格

=IMPORTXML("https://www.google.com.br/?source=pshome-c-0-3&sa=X&ved=0ahUKEwjfguD5xaHKAhXMiZAKHWjuBi8Q7j8IEA#tbm=shop&q=Samsung+Galaxy+S6&spd=0";"/div[@class='product-results']/div[@class='psli'][2]/div[@class='pslicont']/div[@class='pslmain']/div[@class='pslline'][1]/div[@class='_tyb shop__secondary']/span[@class='price']/b")

我的 xpath 查询是:

/div[@class='product-results']/div[@class='psli'][2]/div[@class='pslicont']/div[@class='pslmain']/div[@class='pslline'][1]/div[@class='_tyb shop__secondary']/span[@class='price']/b

但我没有结果。

怎么了?

来自 Google 购物的 HTML

【问题讨论】:

  • 你只能导入这个页面的source HTML,几乎只有Javascript。您正在寻找的元素span[@class = 'price'] 是由这个 JS 生成的,但不存在于源代码中。据我所知,除了自定义插件之外,无法在 Google 表格本身中获取此内容。

标签: excel xpath google-sheets google-shopping


【解决方案1】:

因为谷歌实际上并没有返回 HTML。查看页面源代码

  • view-source:https://www.google.com.br/?source=pshome-c-0-3&sa=X&ved=0ahUKEwjfguD5xaHKAhXMiZAKHWjuBi8Q7j8IEA#tbm=shop&q=Samsung+Galaxy+S6&spd=0

【讨论】:

  • 感谢您的回复。 Google 为您的域使用不同的脚本,在 Google.FR 和 GOOGLE.com 中我的代码有效。
【解决方案2】:

在从 Google 获取 HTML 时尝试使用用户代理。这是我几天前遇到的一个问题,通过将用户代理模仿为 Chrome 浏览器来解决。 您可以找到模仿 Google 本身的 User-Agent 的不同方法(没有双关语)。

【讨论】:

    猜你喜欢
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 2019-05-24
    相关资源
    最近更新 更多