R rvest: не удалось найти функцию "xpath_element"

Я trvest :: html_nodes () ying, чтобы просто воспроизвести пример , но встретить ошибку:library(rvest) ateam <- read_html("http://www.boxofficemojo.com/movies/?id=ateam.htm") html_nodes(ateam, "center")

httr

Ошибка в do.call (метод, список (parsed_selector)): не удалось найти функцию "xml2"

То же самое происходит , если я загружаю пакеты , такие как selectr, xpath_element, xpath_combinedselector. Кажется, у меня есть последняя версия этих пакетов ...

В каких пакетах есть такие функции, как xpath_element, например ? Как мне заставить его работать? Обратите внимание, что я работаю на Ubuntu 16.04, так что код может работать на других платформах ...contents <- link %>% xml2::read_html() %>% rvest::html_nodes(css = "pre") %>% rvest::html_text()

r,ubuntu-16.04,rvest,httr,xml2,

6

Ответов: 4


2

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

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

Мои оригинальные функции отлично работали на Ubuntu 16, R 3.4.0. Однако они не справились с Debian 8 R 3.3.3 и R 3.4.0.

Когда я изменил свой код на целевые xpaths вместо css, они начали работать как ожидалось. Например, изменив это ...

contents <- link %>%
    xml2::read_html() %>%
    rvest::html_nodes(xpath = "//pre") %>%
    rvest::html_text()

к этому...

selectr

разрешил мою проблему.


1

Как отметил @tbrugz, проблема, похоже, пришла в пакет форм .pkg <- installed.packages() subset(as.data.frame(pkg), Package=="selectr", c("Package", "LibPath")) Package LibPath selectr selectr /home/matifou/R/x86_64-pc-linux-gnu-library/3.3 selectr.1 selectr /usr/lib/R/site-library library(selectr, lib.loc="/home/matifou/R/x86_64-pc-linux-gnu-library/3.3") css_to_xpath(".testclass") [1] "descendant-or-self::*[@class and contains(concat(' ', normalize- space(@class), ' '), ' testclass ')]" detach("package:selectr", unload=TRUE) library(selectr, lib.loc="/usr/lib/R/site-library") css_to_xpath(".testclass") Error in do.call(method, list(parsed_selector)) :

Это происходит, однако, только когда пакет установлен с apt-get install r-cran-selectr. Установка пакета с помощью sudo R, затем install.packages работает нормально.

xml2

не удалось найти функцию "xpath_class"


0

Я решил это, обновив rvestsнепосредственно в своей локальной библиотеке R, а не полагаясь на install.packages("xml2") импорт.

rverse


0

была такая же проблема. Я установил rverseпрямо из ноутбука Jupyter на macOS 10.13.5. Переустановка r-shellнепосредственно из rисправленного для меня. Шаги: 1. введите rтерминал и нажмите enter. 2.install.packages('rvest')

г, убунту-16,04, rvest, HTTR, xml2,
Похожие вопросы