2017-09-03 8 views
-1

証券クラスアクションファイリングのウェブサイトから複数のページ(233)にわたってテーブルを削り取ろうとしています。私のコードは以下の通りです:rvestパッケージでエラーが発生しました

install.packages("rvest") 
install.packages("magrittr") 
install.packages("xml2") 

library(xml2) 
library(rvest) 
library(magrittr) 
library(data.table) 


i <- 1:233 
urls <- paste0("http://securities.stanford.edu/filings.html?page=", i) 

get_table <- function(url) { 
    url %>% 
    read_html() %>% 
    html_nodes(xpath = '//*[@id="records"]/table') %>% 
    html_table() 
} 

results <- sapply(urls, get_table) 

次のエラーのコード結果:

Error in xpath_element() :
could not find function "xpath_element"

任意のアイデア?

を再起動して、コンピュータを再起動してすべてのパッケージを更新しようとしました。

答えて

0

。あなたの人の時間を無駄にして申し訳ありません。

0

私はこのコードは、あなたが必要とするものに近づくと思います。ないアナコンダを経由して、この時間 - - と、今のコードが動作しているR再インストール

suppressPackageStartupMessages(library(tidyverse)) 
suppressPackageStartupMessages(library(rvest)) 


# iterate over the first 10 pages 
iter_page <- 1:10 
pb <- progress_estimated(length(iter_page)) 

# define function to scrape the table data from a page 
get_table <- function(i) { 
    base_url <- "http://securities.stanford.edu/filings.html?page=" 
    url <- paste0(base_url, i) 
    url %>% 
    read_html() %>% 
    html_nodes(xpath = '//*[@id="records"]/table') %>% 
    html_table() %>% 
    .[[1]] %>% 
    as_tibble() 
} 

# scrape first 10 pages 
map_df(iter_page, ~ { 
    pb$tick()$print() 
    df <- get_table(.x) 
    Sys.sleep(sample(10, 1) * 0.1) 
    df 
}) 
#> # A tibble: 200 x 5 
#>              `Filing Name` 
#>                <chr> 
#> 1         Dr. Reddy's Laboratories Ltd. 
#> 2            PetMed Express, Inc. 
#> 3             Top Ships Inc. 
#> 4              Sevcon, Inc. 
#> 5              XCerra Corp. 
#> 6            Zillow Group, Inc. 
#> 7             ShoreTel, Inc. 
#> 8 Teva Pharmaceutical Industries Ltd. : American Depository Shares 
#> 9             Depomed, Inc. 
#> 10          Blue Apron Holdings, Inc. 
#> # ... with 190 more rows, and 4 more variables: `Filing Date` <chr>, 
#> # `District Court` <chr>, Exchange <chr>, Ticker <chr> 
+0

ありがとうございました。コードを実行しましたが、引き続き同じエラーメッセージが表示されます。 'map_df(。)' Rはスクラップ( '| ====== | 10%〜1m remaining')を始めるが、エラーメッセージ' Error in xpath_element(): 関数" xpath_element "を見つけることができませんでした –

関連する問題