2012-12-17 124 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