R 中的 xpathSApply 函数仅在需要多个值时返回一个值
xpathSApply function in R only returning one value when multiple are expected
我想从这个网站上抓取文章 links:http://america.aljazeera.com/topics/topic/categories/us.html
我通过忽略分页来简化我的任务,我只对列出的前 10 篇文章感兴趣,目前具有以下语法:
library(RCurl)
library(XML)
response <- getURL('http://america.aljazeera.com/topics/topic/categories/us.html')
html <- htmlParse(response)
xpath <- "//div[@class='story-holder']//a"
xpathSApply(html, xpath, xmlGetAttr, 'href')
我本希望获得所有文章 links、图像中的 links 以及每篇文章标签的 links(这些将稍后解析)。但是,我只得到嵌入在第一篇文章缩略图中的第一个 link。知道为什么它没有返回更多结果吗?
谢谢!
该页面有 invalid HTML markup,这混淆了 XML 解析器。具体来说,它有一些自动关闭的 div's 似乎正在抛弃一切。您可以尝试更具体的 xpath 表达式,避免 "bad" 部分。如果您只想要文章链接,也许:xpath <- "//div[@class='media-body']//h3/a"
我想从这个网站上抓取文章 links:http://america.aljazeera.com/topics/topic/categories/us.html
我通过忽略分页来简化我的任务,我只对列出的前 10 篇文章感兴趣,目前具有以下语法:
library(RCurl)
library(XML)
response <- getURL('http://america.aljazeera.com/topics/topic/categories/us.html')
html <- htmlParse(response)
xpath <- "//div[@class='story-holder']//a"
xpathSApply(html, xpath, xmlGetAttr, 'href')
我本希望获得所有文章 links、图像中的 links 以及每篇文章标签的 links(这些将稍后解析)。但是,我只得到嵌入在第一篇文章缩略图中的第一个 link。知道为什么它没有返回更多结果吗?
谢谢!
该页面有 invalid HTML markup,这混淆了 XML 解析器。具体来说,它有一些自动关闭的 div's 似乎正在抛弃一切。您可以尝试更具体的 xpath 表达式,避免 "bad" 部分。如果您只想要文章链接,也许:xpath <- "//div[@class='media-body']//h3/a"