使用R从Web页面提取链接

使用R从Web页面提取链接,第1张

概述下面的两个帖子是从网站提取数据并将其解析为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,所以我希望这个问题是非常基本的,但是考虑到上 下面的两个帖子是从网站提取数据并将其解析为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] "/"
总结

以上是内存溢出为你收集整理的使用R从Web页面提取链接全部内容,希望文章能够帮你解决使用R从Web页面提取链接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1090068.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存