Raspado web de estadísticas clave de stock de Finviz con R
Traté de eliminar de Finviz algunas estadísticas clave de acciones. Apliqué códigos de la pregunta original:Raspado web de estadísticas clave en Yahoo! Financiar con R. Para recopilar estadísticas para la mayor cantidad de acciones posible, creo una lista de símbolos y descripciones de acciones como esta:
Symbol Description
A Agilent Technologies
AAA Alcoa Corp
AAC Aac Holdings Inc
BABA Alibaba Group Holding Ltd
CRM Salesforce.Com Inc
...
Seleccioné la primera columna y la almacené como un personaje en R y lo llamé acciones. Luego apliqué el código:
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)]
Sin embargo, para algunas de las acciones, Finviz no tiene una página para ellos y recibo masajes de error como este:
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'
Hay una buena cantidad de acciones que tienen esta situación, por lo que no puedo eliminarlas de mi lista manualmente. ¿Hay alguna forma de omitir la obtención de la página para esas acciones? ¡Gracias por adelantado!