0

我已经尝试了 2 个多小时来将时间戳从 zap2it.com 链接导入到我的谷歌电子表格。



这是我试图从中导入xml的链接。
http://affiliate.zap2it.com/tvlistings/ZCGrid.do?zipcode=78238&lineupId=DISH641:-



这是我要导入的内容
在此处输入图像描述

这是我到目前为止尝试过的

=importxml("http://affiliate.zap2it.com/tvlistings/ZCGrid.do?aid=dish&pkg=8388608&fromProvider=true&zipcode=78238&x=52&y=18"&B1,"//body//div[3]/div/div/div[3]/div/div")




编辑 我能够改进并获得更好的结果

//body//div[3]/div/div/div[1]//*

但它显示了整个页面的时间戳。不完全是我需要的。

4

1 回答 1

1

[第一个复杂情况是从取消引用该 URI 返回的数据流实际上不是 XML;它有数千个格式正确的错误(URI 中未转义的 & 符号、脚本中未转义的 & 符号和小于号、一些嵌入的 HTML、一些杂项错误)。但是,由于您没有报告问题,因此我假设在服务器和您的 XPath 表达式之间的某个地方有人正在做一些整理。]

如果您使用文档中广泛使用的id和属性,我认为您将获得更好的结果。class您想要的材料在源代码中看起来像这样(您可以使用任何基于浏览器的调试工具来查找它;我在 Safari 中使用了“Web Inspector”);我已经缩进以使结构更加可见,并修复了其中一个a元素中的一些格式错误(属性-值对之间缺少空格)。

<div class="zc-tn" id="zc-tn-top">
  <div class="zc-tn-i">
    <a href="ZCGrid.do?fromTimeInMillis=1355781600000" 
       class="zc-tn-l" 
       title="Move the grid three hours earlier"></a>
    <div class="zc-tn-c">
      <span class="zc-tn-z" 
            title="Central Standard Time">CST</span>
      <div class="zc-tn-t">7:00 PM</div>
      <div class="zc-tn-t">7:30 PM</div>
      <div class="zc-tn-t">8:00 PM</div>
      <div class="zc-tn-t">8:30 PM</div>
      <div class="zc-tn-t">9:00 PM</div>
      <div class="zc-tn-t">9:30 PM</div>
    </div>
    <a href="ZCGrid.do?fromTimeInMillis=1355803200000" 
       class="zc-tn-r" 
       title="Advance the grid three hours"></a>
  </div>
</div>

一个简单的搜索验证该值zc-tn-top作为文档中的 ID 值确实是唯一的。鉴于此,一个简单的 XPath 表达式来检索图像中显示的所有元素(假设xhtml绑定到 XHTML 命名空间):

//xhtml:div[@id='zc-tn-top']//xhtml:div[@class='zc-tn-t']

从您的问题来看,您的 XPath 评估器似乎是命名空间挑战或命名空间遗忘,因此您可能需要将其写为

//div[@id='zc-tn-top']//div[@class='zc-tn-t']
于 2012-12-18T01:42:27.053 回答