我一直在尝试将zap2it.com链接中的时间戳导入我的谷歌spreasheet超过2个小时。
这是链接我正在尝试从中导入
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]//*
但它显示了整个页面的时间戳。不完全是我需要的。
答案 0 :(得分: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']