首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用XML2读取特定标记

如何使用XML2读取特定标记
EN

Stack Overflow用户
提问于 2019-05-04 13:03:37
回答 2查看 148关注 0票数 1

问题

我正在尝试使用https://www.ato.gov.au/sitemap.xml (N.B,它是一个~9mb文件)使用xml2获取所有url。任何指南针都会赏识。

我的尝试

代码语言:javascript
复制
library("xml2")
data1 <- read_xml("https://www.ato.gov.au/sitemap.xml")
xml_find_all(data, ".//loc")

我没有得到我需要的输出:

{xml_nodeset (0)}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-04 13:51:26

不使用xml2,但我可以通过rvest获得它

代码语言:javascript
复制
library(dplyr)
library(rvest)

url <- "https://www.ato.gov.au/sitemap.xml"

url %>%
  read_html() %>%
  html_nodes("loc") %>%
  html_text()
票数 3
EN

Stack Overflow用户

发布于 2019-05-04 15:29:11

万一您需要dataframe中的所有urls,您可以使用下面的代码:

代码语言:javascript
复制
library(XML)
library(xml2)
library(httpuv)
library(httr)
library(RCurl)
library(data.table)
library(dplyr)
url <- "https://www.ato.gov.au/sitemap.xml"
xData <- getURL(url)
doc <- xmlParse(xData)
data<-xmlToList(doc)
a<-as.data.frame(unlist(data))
a<-dplyr::filter(a,grepl("http",`unlist(data)`) )
head(a)

上面的代码将为您提供一个包含所有urls列表的数据。我只是想知道您也可以使用"Xenu“url获取软件从网站中提取url,而这些url并不包括在站点地图中。告诉我以防你卡在中间的某个地方。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55982817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档