使用R从Web页面提取链接

前端之家收集整理的这篇文章主要介绍了使用R从Web页面提取链接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
下面的两个帖子是从网站提取数据并将其解析为R的不同方法的很好的例子.

Scraping html tables into R data frames using the XML package

How can I use R (Rcurl/XML packages ?!) to scrape this webpage

我刚刚开始编程,而且刚刚开始使用R,所以我希望这个问题是非常基本的,但是考虑到上面的那些帖子,我想象是这样的.

所有我想要做的是提取与给定模式匹配的链接.我觉得我可以使用RCurl来阅读网页,并使用字符串表达式提取它们的强力方法.也就是说,如果网页格式相当,我将如何使用XML包进行这样的操作.

当我学到更多的东西时,我喜欢“看”数据,因为我正在解决这个问题.问题是,其中一些方法生成列表列表等列表,所以新的人(像我)很难走过我需要去的地方.

再次,我是所有的编程新手,所以任何帮助或代码片段将不胜感激.

解决方法

htmlTreeParse的文档显示了一种方法.这是另一个:
> url <- "https://stackoverflow.com/questions/3746256/extract-links-from-webpage-using-r"
> doc <- htmlParse(url)
> links <- xpathSApply(doc,"//a/@href")
> free(doc)

(您可以通过将“链接”传递给“as.vector”,从返回的链接删除“href”属性.)

我以前的回复

一种方法是使用Hadley Wickham的stringr包,您可以使用install.packages(“stringr”,dep = TRUE)进行安装.

> url <- "https://stackoverflow.com/questions/3746256/extract-links-from-webpage-using-r"
> html <- paste(readLines(url),collapse="\n")
> library(stringr)
> matched <- str_match_all(html,"<a href=\"(.*?)\"")

(我想有些人可能不会批准在这里使用正则表达式)

匹配是矩阵的列表,在向量html中每个输入字符串一个,因为它在这里有一个长度,匹配只有一个元素.第一个捕获组的匹配在该矩阵的第2列中(通常,第i个组将出现在列(i 1)中).

> links <- matched[[1]][,2]
> head(links)
[1] "/users/login?returnurl=%2fquestions%2f3746256%2fextract-links-from-webpage-using-r"
[2] "http://careers.stackoverflow.com"                                                  
[3] "http://Meta.stackoverflow.com"                                                     
[4] "/about"                                                                            
[5] "/faq"                                                                              
[6] "/"
原文链接:https://www.f2er.com/html/230182.html

猜你在找的HTML相关文章