使用R语言从网页上提取所有的URLs

使用R语言从网页上提取所有的URLs

在这篇文章中,我们将学习如何使用R编程语言从网页中提取所有的URLs。

为了提取URLs,我们将使用 httrXML 库。我们将使用 httr 包来进行HTTP请求XML和 XML 来使用xml标签识别URLs。

  • httr库用于在R语言中进行HTTP请求,因为它为curl包提供了一个封装器。
  • XML库用于处理XML文件和XML标签。

安装

install.packages(“httr”)

install.packages(“XML”)

在安装完所需的包后,我们需要导入 httrXML 库,并创建一个变量并存储网站的URL。现在我们将使用 httr 包的 GET() 来进行 HTTP 请求,所以我们有原始数据,我们需要将其转换为 HTML 格式,这可以通过使用 htmlParse() 来完成。

我们已经成功地搜刮了HTML数据,但我们只需要URL,所以为了搜刮URL,我们用xpathSApply()并将HTML数据传递给它,我们现在还没有完成,我们必须将XML标签传递给它,这样我们就可以得到与该标签相关的一切。对于URL,我们将使用 “href “标签,它用于声明URL。

注意: 如果你已经安装过一次软件包,就不需要使用install.packages()。

分步实现

第1步: 安装库。

# installing packages
install.packages("httr")
install.packages("XML")

第2步: 导入 库。

# importing packages
library(httr)
library(XML)

第3步: 发出HTTP请求。

在这一步,我们将在GET()中传递我们的URL来请求网站数据,并将返回的数据存储在资源变量中。

url<-"https://www.geeksforgeeks.org"
  
# making http request
resource<-GET(url)

第4步: 将网站数据解析为HTML格式。

在这一步,我们使用htmlparse()将数据解析为HTML

# parsing data to html format
parse<-htmlParse(resource)

第5步: 识别 URLs并打印。

在这一步,我们用xpathSApply()来定位URLs。

# scrapping all the href tags
links<-xpathSApply(parse,path = "//a",xmlGetAttr,"href")
  
# printing links
print(links)

我们知道 <a>标签是用来定义URL的,它被存储在 href 属性中。

<a href="url"></a>

所以xpathSApply()会找到所有的<a>标签 ,并刮除存储在 href 属性中的链接。然后我们将把所有的URL存储在一个变量中并打印出来。

例子

# installing packages
install.packages("httr")
install.packages("XML")
  
# importing packages
library(httr)
library(XML)
  
# storing request url in url variable
url < -"https://www.geeksforgeeks.org"
  
# making http request
resource < -GET(url)
  
# converting all the data to HTML format
parse < -htmlParse(resource)
  
# scrapping all the href tags
links < -xpathSApply(parse, path="//a", xmlGetAttr, "href")
  
# printing links
print(links)

输出

使用R语言从网页上提取所有的URLs

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程