Загрузка файла с веб-сайта с использованием R не работает - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь загрузить файл .csv из https://www.bseindia.com/markets/equity/EQReports/MarketWatch.aspx с помощью R, но он не работает.

Я публикую скриншот с расположением файла, который я пытаюсь загрузить.

enter image description here

когда я нажимаю на изображение файла .csv, файл загружается с именем "MarketWatch_14_00_2018.csv"

Моя цель - прочитать файл в R, поэтому я использовал приведенную ниже команду

MARKET_WATCH <- read.csv("MarketWatch_15_00_2018.csv", stringsAsFactors = F)

это работало нормально, но я хотел автоматизировать этот процесс, который читает файл "MarketWatch_15_00_2018.csv" напрямую из Интернета, не щелкая и не загружая его вручную, поэтому для выполнения этой задачи я использовал следующую команду.

MARKET_WATCH_TEST <- read.csv("https://www.bseindia.com/markets/Equity/EQReports/MarketWatch.aspx?expandable=2/MarketWatch_17_00_2018.csv")

эта команда не выдавала ошибок, но данные, загруженные в фрейм данных, были неправильными, в нее был добавлен HTML-код, загруженный в фрейм данных

Итак, я сначала попытался загрузить файл, чтобы потом его загрузить, я использовал приведенную ниже команду для загрузки файла

downld <- getURL("https://www.bseindia.com/markets/Equity/EQReports/MarketWatch.aspx?expandable=2/MarketWatch_17_00_2018.csv? accessType=DOWNLOAD")

DATA <- read.csv (text = downld)

Я проверил данные, один и тот же код HTML скопирован в оба кадра данных на этот раз, т.е. файл вообще не загружался, только текст HTML, загруженный в кадр данных

Я пробовал пару других способов, таких как fread, getURL и т. Д., Но ничего из этого не получилось. Код, который я использовал для загрузки данных, указан ниже.

dwnld <- fread("https://www.bseindia.com/markets/Equity/EQReports/MarketWatch.aspx?expandable=2/MarketWatch_17_00_2018.csv")

URL <- "https://www.bseindia.com/markets/equity/EQReports/MarketWatch.aspx/MarketWatch_17_00_2018.csv"

X <- getURL(URL)

Может кто-нибудь помочь мне понять, почему файл не загружается должным образом в среду R, когда я пытаюсь загрузить его непосредственно из Интернета, где он нормально загружается после загрузки файла на мой локальный рабочий стол.

1 Ответ

0 голосов
/ 17 ноября 2018

Как насчет этого?

library(dplyr)
library("rvest")
url <- "https://www.bseindia.com/markets/equity/EQReports/MarketWatch.aspx"
data <- url %>%
  read_html() %>%
  html_table(fill = TRUE)

df <- data[[9]]

df <- df[, -c(11:21)]

РЕДАКТИРОВАТЬ: я вижу, что эта веб-страница имеет некоторые ссылки Java Script:

__doPostBack('ctl00$ContentPlaceHolder1$grd1','Page$2')
__doPostBack('ctl00$ContentPlaceHolder1$grd1','Page$3')
__doPostBack('ctl00$ContentPlaceHolder1$grd1','Page$4')
...

в нижней части таблицы, где у меня есть толькоимпортировал первую страницу результатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...