【问题标题】:Trouble fetching date from ImportXML. Need options从 ImportXML 获取日期时遇到问题。需要选项
【发布时间】:2019-01-29 20:24:54
【问题描述】:

使用 Google 表格。 我正在尝试在此页面上获取 ETA 日期: https://www.hapag-lloyd.com/en/online-business/tracing/tracing-by-booking.html?blno=HLCUEUR181027806#

将来,我将使用不同的 blno,因此 ETA 将根据 blno(提单号)而改变。未来,blno 将来自一个专栏。

我使用标准的网页检查方法来确定我想要的元素的 xpath 如下: //*[@id="ext-gen156"]

这是 ETA 日期的 XPath,在本例中是 2018 年 12 月 4 日,当您访问该页面时。

我在 E4 中填充了: https://www.hapag-lloyd.com/en/online-business/tracing/tracing-by-booking.html?blno=HLCUEUR181027806#

我在 E5 中填充了: //*[@id="ext-gen156"]

然后公式“=importxml(E4,E5)”给出结果“N/A”(在 F4 上)。

如果我将 E4 更改为 https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada

和 E5到 //*[@id="mw-content-text"]/div/table[1]/tbody/tr[1]/td[6]/span/a[1]

它有效...它从不同的网站获取不同的信息。

我怀疑我在上述第一种情况下遇到问题的原因是它不是静态页面。也许它只适用于静态页面。

我试图理解 XPath 的含义,但它也很混乱。如果有人给我指出一个很好的解释,那也很有价值。例如,以下文档说您应该使用“。”选择当前节点。在我尝试使用 XPath 的上下文中,当前是什么意思?似乎没有意义。

https://www.w3schools.com/xml/xpath_syntax.asp

我们将不胜感激任何策略指导。我可能做错了。我也联系了 Hapag-Lyod,看看他们是否有 RSS 提要,虽然我也是新手。

那么,对于那些做过类似事情的专家来说,解决这个项目的可能方向是什么?

我正在倒退。我有一个目标,但我不知道所有的技术。我的背景更多是客户端应用程序,因此在涉及 Web 应用程序时我遇到了研究问题。希望我足够详细,但如果没有,请告诉我如何改进问题,我很乐意这样做。

【问题讨论】:

  • FWIW 我试过你的代码 - 没用(真的不奇怪)。但是后来我查看了页面源,没有idext-gen156。当您说页面每次都是动态创建时,我认为您可能是对的。 FWIW,我使用 Chrome(和 Firefox)并提取了“实际”xpath,但这也不起作用。
  • 特迪诺兹,感谢您的尝试。所以我认为答案是 Hapaq Lyod 必须提供网络服务。我不知道如何完成这项工作。再次感谢。
  • 赫伯罗特系统似乎非常适合人工查询。 FWIW,我会直接问他们是否(也)有公共 API,和/或他们是否可以建议如何自动化该过程,以便可以检索数据并将其存储在电子表格中(例如 Google)。

标签: xml xpath google-sheets google-sheets-api google-sheets-importxml


【解决方案1】:

我们开始使用名为 AutoIt 的工具。 这将是解决这个问题的正确工具。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多