2013-12-16 42 views
1

我是很長時間的讀者,第一次發佈海報。非常感謝過去的所有幫助。Xpath查詢 - 使用importXML函數Google Sheets for Gqueues頁面,其中Xpath包含@id字段

我是Xpath和Google工作表importXML函數的新手。我無法正確獲取Xpath查詢語法。我想使用importXML函數將我發佈的Gqueues任務列表中的值導入Google表格電子表格。例如,第一個清單項目是「發送260 o'farrell st。的合同」。我無法正確編寫Xpath,並且在Google表格單元格中出現#N/A和#Error消息。

的Gqueues任務列表位於: https://www.gqueues.com/public/queues/ag1zfmdxdWV1ZXMtaHJkciILEgdBY2NvdW50GKPKmg0MCxIFUXVldWUYgICAgMSxmAoM?options=1

使用Chrome我檢查,我想要的元素和複製的Xpath。根據Chrome,它看起來像這樣: // * [@ id =「ag1zfmdxdWV1ZXMtaHJkciELEgdBY2NvdW50GKPKmg0MCxIESXRlbRiAgICAkLb-Cgw」]/div [1]/table/tbody/tr/td [4]/table/tbody/tr [2]/td [3]

我認爲@id標記可能是我的問題的原因。下面是谷歌表功能我一直在努力,其中A1引用鏈接:

= IMPORTXML(A1, 「// * [@ ID =」 ag1zfmdxdWV1ZXMtaHJkciELEgdBY2NvdW50GKPKmg0MCxIESXRlbRiAgICAkLb-CGW「]/DIV [1] /臺/ TBODY/TR/td [4]/table/tbody/tr [2]/td [3]「)

其中Xpath與直接從Chrome中複製相同。沒有結果,我得到以下錯誤。錯誤:解析錯誤

我已經利用繞ID標籤單引號也試過: = IMPORTXML(A1,「// * [@ id中= 'ag1zfmdxdWV1ZXMtaHJkciELEgdBY2NvdW50GKPKmg0MCxIESXRlbRiAgICAkLb-CGW']/DIV [1] /表/ TBODY/tr/td [4]/table/tbody/tr [2]/td [3]「)

這次我得到一個#N/A結果和下面的錯誤,」error:The xPath query did not返回任何數據。「

我正在接近任一路徑?我該如何理解如何編寫Xpath表達式來返回文本行「發送260 o'farrell st。的合同」。

回答

1

該頁面的內容在運行時使用JavaScript加載。如果您查看頁面源代碼(不要使用Firebug/Chrome開發人員工具)並搜索內容,則很容易看到。

無法使用Google電子表格解析此頁面。您可能能夠分析加載數據的代碼並直接查詢頁面。縱觀查詢的網址,你會很容易發現,這個調用包含你所需要的數據:

https://www.gqueues.com/public/queues/content/ag1zfmdxdWV1ZXMtaHJkciILEgdBY2NvdW50GKPKmg0MCxIFUXVldWUYgICAgMSxmAoM?filter=open&type=user&_=1387204105014

這個數據是JSON格式。據我所知,Google Spreadsheet不支持它,但有一些efforts on libraries adding it,但我不知道它。

1

如果您的目標是將您的任務從GQueues中的隊列轉換爲Google表格,那麼我會建議檢出GQueues「導出單個隊列」功能,該功能將隊列中的數據導出爲CSV文件。然後,您可以將導出的文件拖放到Google雲端硬盤上,並將其上傳到Google表格中。

這是一個手動過程,所以我不確定它是否滿足您的需求,但它是一種方法。

幫助文檔:http://www.gqueues.com/help/export#single

example