[詢問] 試算表IMPORTXML的xpath_query用法

作者: iltet2003 (屁毛)   2016-12-18 11:34:55
hi 大家好,
小弟目前想用google試算表自動抓取網頁的某個特定欄位
看起來IMPORTXML(url, xpath_query)可以符合我的需求
但卡在xpath_query這參數怎麼用都不順
舉例來說
我要抓網頁: https://statementdog.com/analysis/tpe/2324#2324
的最新3年平均現金股息殖利率: 6.78
下的參數是
url: https://statementdog.com/analysis/tpe/2324#2324
xpath_query: //*[@id='dataTable']/table/tbody/tr[3]/td[72]
這會導致匯入內文空白的error
說明一下上述的xpath_query是來自於:
1. 使用chrome瀏覽器開啟該網頁
2. 把6.78框起來點右鍵 => 按檢查
3. 把反藍的那一行語法點右鍵 => copy => copy xpath
4. 得到//*[@id="dataTable"]/table/tbody/tr[3]/td[72]
5. 把上述xpath中的雙引號改成單引號
得到//*[@id='dataTable']/table/tbody/tr[3]/td[72]
6. 使用chrome套件xpath helper驗證5.的xpath的確可以取得6.78這個值
所以看起來這個xpath是對的
想請版上高手解惑以下問題
1. 為何輸入到試算表後會得到"匯入內文空白"的error?
2. 如何解決問題1?
3. 使用試算表,是否有更簡易快速的作法能做到這件事?
先行謝過!
作者: bestpika (飛影‧忌子)   2016-12-19 11:20:00
因為這網頁是動態網頁...而且資料是 js 去撈的Google 試算表應該不會去執行 jsGoogle 那個應該只能抓 ctrl + u 看原始碼有的資料
作者: Lierl (~梨兒~)   2016-12-19 19:04:00
這幾天也在弄這個…你只要把『//*[@id="dataTable"]』括號內的刪除應該就可以了
作者: iltet2003 (屁毛)   2016-12-19 20:58:00
樓上大哥,我用/table/tbody/tr[3]/td[72]也不行...
作者: Lierl (~梨兒~)   2016-12-20 09:34:00
那就只能換個網站查詢了

Links booklink

Contact Us: admin [ a t ] ucptt.com