Ошибка "xpath_search" после попытки очистить сайт с помощью "xml_find_all" - PullRequest
1 голос
/ 10 апреля 2019

Я новичок в R. Я пытаюсь проверить общедоступный веб-сайт , который содержит информацию о количестве заключенных и вакансиях в тюрьме в штате Сан-Паулу, Бразилия.Я журналист, и я попросил у государства эту информацию, но они не хотели давать ее мне.

Я не могу получить данные даже при использовании xml_find_all ().Как я могу очистить сайт?

url <- "http://www.sap.sp.gov.br/"

data <- url %>%
  httr::GET() %>%
  xml2::read_html() %>%
  xml2::xml_find_all(url, '//*[@id="wrap"]/div/ul/ul/li[3]/div/div/span[1]/b')

Запустив код выше, у меня появляется следующая ошибка:

"Ошибка в xpath_search (x $ node, x $ doc, xpath= xpath, nsMap = ns, num_results = Inf): несовместимо с STRSXP: [type = NULL]. "

Информация, которую необходимо просмотреть, находится на правой стороне веб-сайта.

  1. Доступ к URL;
  2. Нажмите на «Альваро де Карвалью»;
  3. Получите числа после «Capacidade» (вместимость) и «População» (население) в каждой тюрьме (например, «Alvaro de Carvalho», «Andradina», «Araraquara» и т. Д.).

Спасибо.

1 Ответ

1 голос
/ 11 апреля 2019

К сожалению, вы не можете решить эту проблему, используя эту стратегию. Основной сайт сложный и откройте пару файлов. Вы можете заметить, что один из файлов http://www.sap.sp.gov.br/js/dados-unidades.js. Этот js-скрипт загрузит всю необходимую вам информацию, но вам придется очистить информацию с помощью строковых функций.

...