尝试使用“xml_find_all”抓取网站后出错“xpath_search”

问题描述 投票:1回答:1

我是R的新人。我正试图刮掉一张public website,其中包含巴西圣保罗州监狱中的囚犯和空缺数量。我是一名记者,我向国家询问了这些信息,但他们不想把它们交给我。

即使使用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. 点击“ÁlvarodeCarvalho”;
  3. 获取每个监狱“容量”和“人口”之后的数字(例如。

谢谢。

r web-scraping rvest httr xml2
1个回答
1
投票

不幸的是,使用此策略无法解决此问题。主要网站很复杂,并打开几个文件。您可以注意到其中一个文件是http://www.sap.sp.gov.br/js/dados-unidades.js。此js脚本将加载您需要的所有信息,但您必须使用字符串函数清除信息。

© www.soinside.com 2019 - 2024. All rights reserved.