我在这里碰到了路障,我无法弄清楚我做错了什么。如果文本等于季后赛,我需要跳过链接。该文本位于我的代码中下面的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)
}
答案 0 :(得分:0)
我并不熟悉r语言,但从xpath的角度来看,您可以使用. != "..."
或not(contains(.,"..."))
谓词模式排除具有特定内部文本值的元素。
以下内容将排除内部文字完全等于 <li>
的{{1}}:
"postseason"
这个会排除li[. != "postseason"]
内部文字,如 <li>
"postseason"