如果文本等于季后赛,则xpathSApply跳过

时间:2015-06-03 12:19:44

标签: r xpath

我在这里碰到了路障,我无法弄清楚我做错了什么。如果文本等于季后赛,我需要跳过链接。该文本位于我的代码中下面的xpath中的第二个li中。

我试过li[not(.,"postseason")],因为我认为这是我需要排除季后赛的链接,但它不起作用。

此链接会向您显示我希望在标准击球时排除的示例>游戏日志>季后赛

http://www.baseball-reference.com/players/j/jeterde01.shtml

将此http://www.baseball-reference.com/players/j/jeterde01.shtml放在playerURLs中,您应该对返回的季后赛链接进行季节性调整。我如何跳过季后赛链接?谢谢!

#GET YEARS PLAYED LINKS 


yplist = NULL 

playerURLs <- paste("http://www.baseball-reference.com",datafile17[,c("hrefs")],sep="") 

for(thisplayerURL in playerURLs){ 

doc <- htmlParse(thisplayerURL) 
yplinks <- data.frame( 
  names =  xpathSApply(doc, '//*[@id="all_standard_batting"]/div//ul/li[2]/ul/li/a',xmlValue), 
  hrefs = xpathSApply(doc, '//*[@id="all_standard_batting"]/div/ul/li[2]/ul/li/a',xmlGetAttr,'href')) 

yplist = rbind(yplist, yplinks) 

} 

1 个答案:

答案 0 :(得分:0)

我并不熟悉语言,但从xpath的角度来看,您可以使用. != "..."not(contains(.,"..."))谓词模式排除具有特定内部文本值的元素。

以下内容将排除内部文字完全等于 <li>的{​​{1}}:

"postseason"

这个会排除li[. != "postseason"] 内部文字,如 <li>

"postseason"