Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何从该网站获取href attr?_Html_R_Web Scraping_Href - Fatal编程技术网

Html 如何从该网站获取href attr?

Html 如何从该网站获取href attr?,html,r,web-scraping,href,Html,R,Web Scraping,Href,我试图解析这个的html,当我从假定的链接中获得html_节点时,它会得到所有节点的响应“”。我做错了什么 texto_01 <- read_html(URL) titulos_noticias <- texto_01 %>% html_nodes("p") %>% html_nodes("div") %>% html_nodes("ol") %>% html_nodes("li") %>% html_nodes("a") titulos_notici

我试图解析这个的html,当我从假定的链接中获得html_节点时,它会得到所有节点的响应“”。我做错了什么

texto_01 <- read_html(URL)
titulos_noticias <- texto_01 %>% html_nodes("p") %>% html_nodes("div") %>% html_nodes("ol") %>% html_nodes("li")  %>% html_nodes("a")
titulos_noticias_texto <- html_attr(titulos_noticias,"href")
titulos_noticias_texto
texto_01%html_节点(“div”)%%>%html_节点(“ol”)%%>%html_节点(“li”)%%>%html_节点(“a”)

titulos_noticias_texto内容是动态加载的。您可以看到该页面执行搜索,然后返回结果集。您需要模拟可以在“网络”选项卡中找到的实际搜索请求。返回的结果是json格式的。感兴趣的数据位于
r$Rows
中,您可以通过连接以下部分来构造url:

paste0("https://www.bcb.gov.br/estabilidadefinanceira/exibenormativo?tipo=", item$TipodoNormativoOWSCHCS,'&numero=',as.integer(item$NumeroOWSNMBR))
您可以使用
paste0
map_df
在从
r$Rows
返回的json对象上循环处理此url重建

您可以在js文件
6816行看到处理此过程的javascripthttps://www.bcb.gov.br/BcbModule.cdb75dd11ebbc7b56192.js
可在“源”选项卡中找到

请注意,js使用的是在第5609行找到的已设置变量


R:

library(jsonlite)
图书馆(purrr)
r=jsonlite::read_json('https://www.bcb.gov.br/api/search/app/normativos/buscanormativos?querytext=ContentType:normativo 和内容来源:normatios和cessão&rowlimit=15&startrow=0&sortlist=Data1OWSDATE:descending&refinementfilters=Data:range(日期时间(2018-09-17)、日期时间(2019-09-20T23:59:59)))

df您需要为任何人提供
URL
,以便能够调试您的问题。布赖恩,你好!URL位于“网站”href中。不管怎样。最好的。你好,QHarr。又是我的朋友。它在这里工作!最好的,菲利佩
library(jsonlite)
library(purrr)

r = jsonlite::read_json('https://www.bcb.gov.br/api/search/app/normativos/buscanormativos?querytext=ContentType:normativo AND contentSource:normativos AND cessão&rowlimit=15&startrow=0&sortlist=Data1OWSDATE:descending&refinementfilters=Data:range(datetime(2018-09-17),datetime(2019-09-20T23:59:59))')

df <- map_df(r$Rows, function(item) {
  data.frame(title = item$title,
             url = paste0("https://www.bcb.gov.br/estabilidadefinanceira/exibenormativo?tipo=", item$TipodoNormativoOWSCHCS,'&numero=',as.integer(item$NumeroOWSNMBR)),
             stringsAsFactors=FALSE)
})

head(df)