[問題] 爬蟲個股公開資訊
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
至公開資訊觀測站 > 營運概況 > 財務比率分析 > IFRS 後 > 財務分析資料,
爬蟲公司名稱, 以及財務分析資料的表格.
過去爬蟲以 id 或 class 爬很方便,
這次碰到沒有唯一 id 或 class 的項目,
用了最根部的 id:table01 完全爬不下來,
表格內的 class 又各有不同,
也嘗試了 xpath 都爬不下來,
求解版上的各位,非常謝謝
[程式範例]:
url <- 'http://mops.twse.com.tw/mops/web/t05st22_q1'
co_id = 2330
res <- POST(url,
body = list(
step = 1,
firstin = 1,
co_id = co_id,
isnew = FALSE, # 歷史資料
year = 106, # 年度
encode = 'form')
res_text <- content(res, as = 'text', encoding = 'UTF-8')
#------------------------------------------------------------------#
# 公司名稱 (因為公司名稱沒有唯一的 id 或 class 可獲取,因此用 xpath
#------------------------------------------------------------------#
name <- res_text %>%
read_html(encoding = 'UTF-8') %>%
html_node('//*[@id="table01"]/table[2]/tbody/tr/td/b/') %>%
html_text()
#==> 錯誤訊息:Error in tokenize(css) : Unexpected character '/' found at position 1
#------------------------------------------------------------------#
# 表格
#------------------------------------------------------------------#
table <- res_text %>%
read_html(encoding = 'UTF-8') %>%
html_node(xpath = '//*[@id="table01"]/center[2]/table/tbody/tr[1]/th[3]') %>%
html_text()
#==> table 為 NA
#----再嘗試將 html_text() 替換成 html_table()----#
table <- res_text %>%
read_html(encoding = 'UTF-8') %>%
html_node(xpath = '//*[@id="table01"]/center[2]/table/tbody/tr[1]/th[3]') %>%
html_table()
#==> 錯誤訊息:Error in UseMethod("html_table") :
沒有適用的方法可將 'html_table' 套用到 "xml_missing" 類別的物件
[環境敘述]
> sessionInfo()
R version 3.4.0 (2017-04-21)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: OS X El Capitan 10.11.6
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
locale:
[1] zh_TW.UTF-8/zh_TW.UTF-8/zh_TW.UTF-8/C/zh_TW.UTF-8/zh_TW.UTF-8
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.159.167.219
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1503824722.A.664.html
※ 編輯: k5171 (49.159.167.219), 08/27/2017 17:12:03
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章