rvest read_html для конкретной таблицы - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь почистить веб-страницу в R. В оглавлении здесь:

https://www.sec.gov/Archives/edgar/data/1800/000104746911001056/a2201962z10-k.htm#du42901a_main_toc

Я заинтересован в

Consolidated Statement of Earnings - Page 50 Consolidated Statement of Cash Flows - Page 51 Consolidated Balance Sheet - Page 52

В зависимости от документа номер страницы может варьироваться.

Я пытаюсь найти эти документы, используя html_nodes(), но я не могу заставить его работать. Когда я проверяю URL, я нахожу таблицу на <div align="CENTER"> == $0, но не могу найти ключ идентификатора таблицы.

url <- "https://www.sec.gov/Archives/edgar/data/1800/000104746911001056/a2201962z10-k.htm"


dat <- url %>%
  read_html() %>%
  html_table(fill = TRUE)

Любой толчок в правильном направлении был бы великолепен!

РЕДАКТИРОВАТЬ: Я знаю о пакетах finreportr и finstr, но они принимают документы XML, и не все страницы .HTML имеют документы XML - я также хочу сделать это с помощью пакета rvest.

EDIT:

Что-то вроде следующих работ:

    url <- "https://www.sec.gov/Archives/edgar/data/936340/000093634015000014/dteenergy2014123110k.htm"
    population <- url %>%
      read_html() %>%
      html_nodes(xpath='/html/body/document/type/sequence/filename/description/text/div[623]/div/table') %>%
      html_table()
x <- population[[1]]

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

Например, этот отличается:

url <- "https://www.sec.gov/Archives/edgar/data/80661/000095015205001650/l12357ae10vk.htm"

population <- url %>%
  read_html() %>%
  html_nodes(xpath='/html/body/document/type/sequence/filename/description/text/div[30]/div/table') %>%
  html_table()

x <- population[[1]]

Есть ли способ "найти" таблицу "Cash Flow" и каким-то образом извлечь xpath?

Еще несколько ссылок, чтобы попробовать.

[1] "https://www.sec.gov/Archives/edgar/data/1281761/000095014405002476/g93593e10vk.htm"   
 [2] "https://www.sec.gov/Archives/edgar/data/721683/000095014407001713/g05204e10vk.htm"    
 [3] "https://www.sec.gov/Archives/edgar/data/72333/000007233318000049/jwn-232018x10k.htm"  
 [4] "https://www.sec.gov/Archives/edgar/data/1001082/000095013406005091/d33908e10vk.htm"   
 [5] "https://www.sec.gov/Archives/edgar/data/7084/000000708403000065/adm10ka2003.htm"      
 [6] "https://www.sec.gov/Archives/edgar/data/78239/000007823910000015/tenkjan312010.htm"   
 [7] "https://www.sec.gov/Archives/edgar/data/1156039/000119312508035367/d10k.htm"          
 [8] "https://www.sec.gov/Archives/edgar/data/909832/000090983214000021/cost10k2014.htm"    
 [9] "https://www.sec.gov/Archives/edgar/data/91419/000095015205005873/l13520ae10vk.htm"    
[10] "https://www.sec.gov/Archives/edgar/data/4515/000000620114000004/aagaa10k-20131231.htm"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...