0
いくつかの株式キーの統計情報をFinvizからスクラップしようとしました。元の質問のコードを適用しました:Web scraping of key stats in Yahoo! Finance with R私はこのような銘柄記号と説明のリストを作成し、できるだけ多くの銘柄の統計情報を収集するには:Finvizからの株式キー統計のWebスクレイピングR
Symbol Description
A Agilent Technologies
AAA Alcoa Corp
AAC Aac Holdings Inc
BABA Alibaba Group Holding Ltd
CRM Salesforce.Com Inc
...
を私が最初の列を選択し、Rの文字として保存され、株式と呼びました。それから私は、コードを適用:
for (s in stocks) {
url <- paste0("http://finviz.com/quote.ashx?t=", s)
webpage <- readLines(url)
html <- htmlTreeParse(webpage, useInternalNodes = TRUE, asText = TRUE)
tableNodes <- getNodeSet(html, "//table")
# ASSIGN TO STOCK NAMED DFS
assign(s, readHTMLTable(tableNodes[[9]],
header= c("data1", "data2", "data3", "data4", "data5", "data6",
"data7", "data8", "data9", "data10", "data11", "data12")))
# ADD COLUMN TO IDENTIFY STOCK
df <- get(s)
df['stock'] <- s
assign(s, df)
}
# COMBINE ALL STOCK DATA
stockdatalist <- cbind(mget(stocks))
stockdata <- do.call(rbind, stockdatalist)
# MOVE STOCK ID TO FIRST COLUMN
stockdata <- stockdata[, c(ncol(stockdata), 1:ncol(stockdata)-1)]
しかし、株式の一部について、Finvizは彼らのためにページを持っていないと私はこのようなエラーのマッサージを取得:
Error in file(con, "r") : cannot open the connection
In addition: Warning message:
In file(con, "r") :
cannot open URL 'http://finviz.com/quote.ashx?t=AGM.A': HTTP status was '404
Not Found'
かなりの数があります。このような状況の株式の私はリストから手動で削除することはできません。それらの株式のページをスキップする方法はありますか?前もって感謝します!
が、これは本当に便利です、あなたにHAKKIをありがとう!私はまた、特定のURLの要求がエラーなしで応答するかどうかを判断することができるRCurlパッケージのurl.existsを発見しました – statxiong
これを今後も使用するために追加しました – Hakki
これを閉じる – Hakki