首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于从中文搜索中提取网页链接的XPath表达式(baidu.com)

用于从中文搜索中提取网页链接的XPath表达式(baidu.com)
EN

Stack Overflow用户
提问于 2010-12-14 00:03:26
回答 1查看 265关注 0票数 1

有没有人知道能让我提取baidu.com返回的所有搜索结果的XPath表达式?

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

代码语言:javascript
复制
# 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]")

然而,这只得到了大约10个链接,而我应该有大约100个。所以我认为这意味着关于百度html的结构有一些我不清楚的地方。

非常感谢您的宝贵时间。

EN

回答 1

Stack Overflow用户

发布于 2010-12-14 04:19:16

如果Xpath不是绝对需要的,那么可以尝试一种基于正则表达式的方法。下面假设所有链接都以http://开头,并用双引号引起来。它使用strapply来匹配指定的正则表达式,并提取出反向引用,即括号中的部分。

代码语言:javascript
复制
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)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4430763

复制
相关文章

相似问题

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