【问题标题】:My xpath apply returns NULL value [closed]我的 xpath 应用返回 NULL 值 [关闭]
【发布时间】:2015-12-19 18:46:30
【问题描述】:

我正在尝试构建一个网络爬虫并为该网站提取信息 “http://www.rcsb.org/pdb/home/home.do”。

library(RCurl)
library(XML)

url     <- "http://www.rcsb.org/pdb/home/home.do"
page    <- getURL(url)
parsed  <- htmlTreeParse(page, useInternalNodes = TRUE)

extract <- xpathApply(
    parsed, 
    "//*/href[@id='navbar-collapse-RCSB']/ul/li"
)

这是我用于进入上述网站“搜索”选项卡的代码 执行此代码后,我得到一个 Null 或空列表。 我如何从这些网站中提取我的数据。

【问题讨论】:

  • 当他们的数据提供REST API 时,你为什么要抓取?
  • 我对此完全陌生,这对我来说可能有点野心勃勃,但是我们可以用 API 做什么?
  • 该页面上有相当不错的解释。您究竟在抓取什么(即您打算在搜索框中“输入”什么,然后在结果返回后抓取)?
  • 我明白了,所以我的下一步是将这个 API 集成到 R 中并从这个网站检索数据

标签: xml r xpath web-scraping rcurl


【解决方案1】:

这个问题没有说明需要什么输出,但也许这会让你开始:

library(XML)
url <- "http://www.rcsb.org/pdb/home/home.do"
doc <- htmlTreeParse(url, useInternalNodes = TRUE)
xp <- xpathApply(doc, "//*/div[@id='navbar-collapse-RCSB']/ul/li")

【讨论】:

  • 我的 synatx 有问题,例如,如果 Xpath 是“ ... 如何编写这样的路径 Xp
  • 也许你想要:xpathApply(doc, "//*/div[@id='navbar-collapse-RCSB']/ul/li/a[@class='dropdown-toggle']") 或者xpathApply(doc, "//a[@class='dropdown-toggle']")
  • 仍然返回 Null 值
  • 它不会为我生成 NULL。也许你有一个错字。将答案中的代码复制到剪贴板并将其粘贴到 R 中。
  • webpage.data
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-20
  • 1970-01-01
  • 2014-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多