【问题标题】:ImportXML query giving internal errorImportXML 查询给出内部错误
【发布时间】:2014-10-20 07:51:00
【问题描述】:

我刚刚编写了我的第一个 ImportXML 函数来获取这样的产品。 我想获取所有 h3 元素。但它显示import internal error

=ImportXML("https://www.google.com/products?q=ipod+nano","//h3")

我也尝试了这个查询以提供所有具有r 类的 h3 元素,但它仍然显示相同的错误?

=ImportXML("https://www.google.com/products?q=ipod+nano",
                "//h3[@clsass='r')")

【问题讨论】:

  • 两个想法:a) 首先尝试一个普通的 HTTP 地址,因为 HTTPS 通常需要特殊处理或覆盖选项。 b) 第二个 XPath 表达式包含两个错误。请改用//h3[@class='r']
  • 是的,它奏效了。谢谢@MarcusRickert

标签: xml xpath web-scraping google-docs


【解决方案1】:

正如@MarcusRickert 已经指出的那样,HTTPS 页面可能是个问题。使用它们的 HTTP 版本:

=IMPORTXML("http://www.google.com/search?tbm=shop&q=ipod+nano&gws_rd=ssl", "//h3")

结果是(剪辑):

Apple iPod Nano (6th Generation) - 8 GB - Graphite
Apple iPod Nano (3rd Generation) - 4 GB - Silver
Apple iPod Nano (4th Generation) - 8 GB - Pink
Apple iPod Nano (PRODUCT) RED (7th Generation) - 16 GB - Red
Apple iPod Nano (2nd Generation) - 4 GB - Silver
Apple iPod Nano (5th Generation) - 8 GB - Black
Apple iPod Nano (4th Generation) - 8 GB - Silver
Apple iPod Nano (7th Generation) - 16 GB - Space Gray
Apple iPod Nano (5th Generation) - 16 GB - Black
Apple iPod Nano (2nd Generation) - 4 GB - Green
.....

对第二个查询执行相同的操作。再次感谢 Marcus 在您的 XPath 表达式中发现了两个错误。写这些表达式时要更加小心!尤其是 clsass 而不是 class 如果您仔细查看代码应该很容易发现。

=IMPORTXML("http://www.google.com/search?tbm=shop&q=ipod+nano&gws_rd=ssl", "//h3[@class='r']")

结果:

Apple iPod Nano (7th Generation) - 16 GB - Slate
Apple iPod Nano (6th Generation) - 8 GB - Graphite
Apple iPod Nano (3rd Generation) - 4 GB - Silver
Apple iPod Nano (4th Generation) - 8 GB - Pink
Apple iPod Nano (PRODUCT) RED (7th Generation) - 16 GB - Red
Apple iPod Nano (2nd Generation) - 4 GB - Silver
Apple iPod Nano (5th Generation) - 8 GB - Black
Apple iPod Nano (4th Generation) - 8 GB - Silver
Apple iPod Nano (7th Generation) - 16 GB - Space Gray
Apple iPod Nano (5th Generation) - 16 GB - Black
Apple iPod Nano (2nd Generation) - 4 GB - Green
Apple iPod Nano (3rd Generation) - 8 GB - Pink
Apple iPod Nano (PRODUCT) RED Special Edition (2nd Generation) - 4 ...
Apple iPod Nano (1st Generation) - 2 GB - White
Apple iPod nano (PRODUCT) RED Special Edition (6th Generation) - 8 ...
Apple iPod Nano (PRODUCT) RED Special Edition (3rd Generation) - 8 ...
Apple iPod Nano (PRODUCT) RED Special Edition (5th Generation) - 8 ...
Engraved Apple iPod Nano 16GB - 8th Gen
Apple 16GB iPod nano (Blue) Brand new
Apple iPod Nano (3rd Generation) - 8 GB - Green

【讨论】:

  • 感谢您给予我的信任!顺便说一句,我是 Marcus。 SO 的引擎并不那么聪明,无法更正该拼写。 :-)
  • @MarcusRickert 我明白了,抱歉 - k 拼写在波恩更常见!
  • Http 部分工作。我也给出了错误的 URL,所以它无法解析。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多