Как прочитать таблицу в R с веб-сайта PHP

#r #web #url

#r #веб #url

Вопрос:

Я смотрю на R-скрипт, который я нашел в Интернете, связанный с предсказаниями фэнтези-футбола, и код немного устарел, поэтому я пытаюсь заставить его работать для этого сезона НФЛ. Я немного знаком с R, но я ничего не знаю о HTML или PHP, и для того, чтобы собрать данные игрока, мне нужна таблица с этого URL:http://www.fantasypros.com/nfl/rankings/consensus-cheatsheets.php

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

experts <- data.table(readHTMLTable("http://www.fantasypros.com/nfl/rankings/consensus-cheatsheets.php", stringsAsFactors = FALSE)$data)

Это просто говорит Error: failed to load external entity "http://www.fantasypros.com/nfl/rankings/consensus-cheatsheets.php"

Я искал разные способы извлечения таблиц с веб-сайта, но все они уникальны для этой конкретной таблицы. Каким-либо образом я мог бы перенести все эти данные во фрейм данных в R?

Комментарии:

1. Пожалуйста, добавляйте только те теги, которые имеют отношение к актуальной проблеме. Этот вопрос не имеет ничего общего с PHP.

Ответ №1:

У меня была такая же проблема, и самый простой способ, который я нашел для решения этой проблемы, — загрузить файл перед загрузкой его в R. Поскольку вы хотите превратить HTML-файл в таблицу, лучшим решением является использование readHTMLTable() , затем вы загрузите список фреймов данных. Ниже следует код для ее решения:

 library(XML)

file_url = 'http://www.fantasypros.com/nfl/rankings/consensus-cheatsheets.php'
file_path = '~/Desktop/nfl.html'
download.file(file_url, file_path)
doc = readHTMLTable(file_path)
  

Вот результат:
введите описание изображения здесь

Дайте нам знать, сработало ли это и для вас.

Комментарии:

1. Ну, он загрузил HTML-файл нормально, но я все еще не могу извлечь таблицу данных из файла. Спасибо вам за помощь, хотя! Знаете ли вы какой-либо способ превратить этот загруженный мной код в полезную таблицу?

2. привет, @NathanKilcrease, я обновил код .. я думаю, теперь у вас есть то, что вы хотели!