R 从中文搜索中提取Web链接的XPath表达式(baidu.com)

R 从中文搜索中提取Web链接的XPath表达式(baidu.com),r,xpath,R,Xpath,有没有人知道一个XPath表达式可以让我提取从百度返回的所有搜索结果 例如,在R中,我通常会这样做: # load libraries library(RCurl) library(XML) # get webpage doc <- getURL("http://www.baidu.com/s?rn=100&bs=chivas+regal&f=8&wd=chivas+regal") # html structure html <- htmlTree

有没有人知道一个XPath表达式可以让我提取从百度返回的所有搜索结果

例如,在R中,我通常会这样做:

# load libraries    
library(RCurl)
library(XML)

# get webpage
doc <- getURL("http://www.baidu.com/s?rn=100&bs=chivas+regal&f=8&wd=chivas+regal")

# html structure
html <- htmlTreeParse(doc, useInternalNodes = TRUE, error=function(...){})

# use xpath expression to get links
nodes <- getNodeSet(html, "//a[@href]")
#加载库
图书馆(RCurl)
库(XML)
#获取网页

doc如果Xpath不是绝对要求,请尝试基于正则表达式的方法。以下假设所有链接都以http://开头,并用双引号引起来。它使用
stripply
匹配指定的正则表达式,并提取返回引用,即括号内的部分

URL <- "http://www.baidu.com/s?rn=100&bs=chivas+regal&f=8&wd=chivas+regal"
Lines <- readLines(URL)
library(gsubfn)
links <- strapply(Lines, '"(http://[^"]*)"', simplify = c)
URL使用名称空间绑定并将其添加到XPath表达式中,它可以正常工作。错误可能在HTML解析器或XPath引擎中。相应地重新标记。