使用xpathSApply使用R进行网页抓取,并尝试仅获取带有“的链接”/概述“;
我正在为大学做一个项目,涉及到网页抓取。我正在尝试获取此网站()中玩家档案的所有链接。我尝试用以下代码获取链接:使用xpathSApply使用R进行网页抓取,并尝试仅获取带有“的链接”/概述“;,r,web-scraping,R,Web Scraping,我正在为大学做一个项目,涉及到网页抓取。我正在尝试获取此网站()中玩家档案的所有链接。我尝试用以下代码获取链接: library(XML) doc_parsed<-htmlTreeParse("ranking.html",useInternal =T) root<-xmlRoot(doc_parsed) hrefs1 = xpathSApply(root,fun=xmlGetAttr,"href",path='//a') 库(XML) doc_parsed要缩小到您想要的链接,您必
library(XML)
doc_parsed<-htmlTreeParse("ranking.html",useInternal =T)
root<-xmlRoot(doc_parsed)
hrefs1 = xpathSApply(root,fun=xmlGetAttr,"href",path='//a')
库(XML)
doc_parsed要缩小到您想要的链接,您必须在表达式中包含您所追求的元素所特有的属性。最好、最快的方法是使用ID(应该是唯一的)。下一个最佳方法是在具有特定类的元素下使用路径。例如:
hrefs1 <- xpathSApply(root,fun=xmlGetAttr, "href", path='//td[@class="player-cell"]/a')
hrefs1优化查询参数。听起来你得到的是所有的链接,而不是你想要的5000个。不知何故,您需要找出如何将链接排除在搜索集之外。请尝试hrefs1如果您的代码提取页面的所有链接,请尝试使用xpath表达式缩小到您真正想要的内容。提示:在文档结构中寻找唯一的类。@nicola OP要求使用XPath提供解决方案。非常感谢大家!它起作用了。我想我也可以将解决方案用于无列表。谢谢你的帮助,它起作用了。问题是这2252个链接不包括位置中有字母“t”的玩家。@AnnaB如果答案解决了你的问题,你能把它标记为正确答案吗?