Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用xpathSApply使用R进行网页抓取,并尝试仅获取带有“的链接”/概述“;_R_Web Scraping - Fatal编程技术网

使用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如果答案解决了你的问题,你能把它标记为正确答案吗?