試算表IMPORTXML的xpath_query用法 - Google

Table of Contents

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. 使用試算表,是否有更簡易快速的作法能做到這件事?


先行謝過!

--

All Comments

Gary avatarGary2016-12-21
因為這網頁是動態網頁...
而且資料是 js 去撈的
Regina avatarRegina2016-12-23
Google 試算表應該不會去執行 js
Ursula avatarUrsula2016-12-25
Google 那個應該只能抓 ctrl + u 看原始碼有的資料
Jake avatarJake2016-12-29
這幾天也在弄這個…你只要把『//*[@id="dataTable"]』括號
內的刪除應該就可以了
Daniel avatarDaniel2017-01-02
樓上大哥,我用/table/tbody/tr[3]/td[72]也不行...
Skylar DavisLinda avatarSkylar DavisLinda2017-01-06
那就只能換個網站查詢了
Lauren avatarLauren2017-01-08
把tbody拿掉試試