2012-12-17 80 views
0

我一直在尝试超过2小时从zap2it.com链接导入时间戳到我的谷歌spreasheet。



这里是链接我想importxml从。
http://affiliate.zap2it.com/tvlistings/ZCGrid.do?zipcode=78238&lineupId=DISH641:-



这里是我tryign导入
enter image description here谷歌电子表格importxml时间戳

这里是我试过到目前为止

=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]//* 

但它展示了来自全国各地的网页时间戳。不完全是我需要的。

回答

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计算器是命名空间-challenged或命名空间忘记,所以你可能需要很多写为

//div[@id='zc-tn-top']//div[@class='zc-tn-t'] 
+0

谢谢,我不知道我能id和class照片直接而不调用体,仅有1个多问题,为什么我加'//a'结尾,使其输出为单行而不是行。谢谢 – Mowgli

+1

在它的末尾添加“'// a'”将使XPath表达式匹配不是class =“zc-tn-t”的div元素集合,而是匹配它们内部的一组'''元素这种情况是空集)。我不知道如何回答你关于单行和多行的问题,因为我不知道你的意思。 –

+0

谢谢,我现在明白了。 – Mowgli