2016-01-06 2 views
1

Привет Я пытаюсь читать данные powerfl брендов в мире по ссылке «http://www.forbes.com/powerful-brands/list/3/#tab:rank» в известность данных с помощью RWeb Зачистка в R с помощью GetURL

Я новичок, поэтому я попытался использовать следующий код для получения данные

library(XML) 
    library(RCurl) 
    # Read and parse HTML file 
    forbe = 'http://www.forbes.com/powerful-brands/list/#tab:rank' 

    data <- getURL('http://www.forbes.com/powerful-brands/list/#tab:rank') 
    data 
    htmldata <- readHTMLTable(data) 
    htmldata 

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

ответ

0

Почему бы вам не попробовать что-то вроде this. В основном, что-то вроде:

download.file(forbe, htmldata, auto, quiet = FALSE, cacheOK = TRUE) 

И прочитанные данные должны быть в переменной массива htmldata.

+0

Я попытался это, но он не работает. –

1

Они используют запросы XHR для заполнения страницы с помощью javascript. Используйте инструменты браузера для разработчиков, чтобы увидеть сеть запрашивает

enter image description here

и захватить JSON непосредственно:

brands <- jsonlite::fromJSON("http://www.forbes.com/ajax/list/data?year=2015&uri=powerful-brands&type=organization") 
str(brands) 

## 'data.frame': 100 obs. of 10 variables: 
## $ position   : int 12 44 83 87 13 22 1 39 16 72 ... 
## $ rank    : int 12 44 83 87 13 22 1 39 16 72 ... 
## $ name    : chr "AT&T" "Accenture" "Adidas" "Allianz" ... 
## $ uri    : chr "att" "accenture" "adidas" "allianz" ... 
## $ imageUri   : chr "att" "accenture" "adidas" "allianz" ... 
## $ industry   : chr "Telecom" "Business Services" "Apparel" "Financial Services" ... 
## $ revenue   : num 132400 32800 14900 131600 87500 ... 
## $ oneYearValueChange: int 17 14 -14 -6 32 13 17 1 -5 -1 ... 
## $ brandValue  : num 29100 12000 6800 6600 28100 ... 
## $ advertising  : num 3272 88 NA NA 3300 ... 
+0

Это причина, по которой я использовал getURL или download.file, я также не читал данные всей страницы? Также как вы определили, что это формат данных Json? –

+0

Да. Другими способами помимо этого являются RSelenium и/или фантомы. Нажмите «Предварительный просмотр», чтобы увидеть JSON, но также тип Content-Type MIME отдает тот факт, что это JSON. – hrbrmstr

+0

Это единственный способ получить доступ к этим данным, кто-то сказал мне загрузить всю html-страницу и использовать htmltreeparse, я не мог понять это, не могли бы вы помочь пролить свет на него. Я имею в виду, как я могу получить доступ к данным по-разному, если бы не знал, что это было в Json, и был получен какой-то другой ссылкой. Я был бы очень признателен за вашу помощь. –

Смежные вопросы