xpath
  • yql
  • 2012-05-19 51 views 1 likes 
    1

    我想用yql獲取網頁的一部分。我已經嘗試了幾個查詢。大多數查詢可以返回除一個查詢以外的正確結果。無法使用yql和xpath獲取結果

    下面是該查詢:

    select * from html where url="http://www.cngold.org/img_date/livesilvercn_rmb.html" and xpath='//div[6]/div[2]/div/div[2]/table/tbody/tr[4]/td[6]' 
    

    我希望得到價格,但實際獲得空的結果。

    如果我檢索與YQL整個頁面,並檢查該元素的XPath的,這一次的XPath是

    //div[3]/div/div[2]/a/div/div[2]/table/tbody/tr[4]/td[6] 
    

    爲什麼有這麼多的差異?

    我該如何處理這種情況?

    在此先感謝。

    +0

    不知道頁面上有什麼,但是你的第一個查詢選擇了'5.82'值(我希望它實際上是一個有用的信息,值不會經常變化)。第二個查詢沒有給我任何東西(但它是一個有效的查詢)。 –

    +0

    是的,5.82是一個有用的信息。但是我得到了一個空的結果。我用yql控制檯嘗試它。謝謝。也許我應該讓另一個人去嘗試它。 – bucherren

    +0

    我嘗試用Firefox + Firebug + [Firefinder](https://addons.mozilla.org/cs/firefox/addon/firefinder-for-firebug/)。是不是在頁面加載一些JavaScript後計算值的問題?因爲原始的完整源文件不包含該值。當然,yql無法找到使用js計算的內容。 –

    回答

    0

    YQL無法獲取動態計算的值。在這種情況下,您最好使用phantom.js

    這個答案https://stackoverflow.com/a/7978072/1337392提供了幾個工具,你可以用它來做HTML報廢。

    希望它有幫助!

    相關問題