📜  使用 R 语言从网页中提取所有 URL

📅  最后修改于: 2022-05-13 01:54:26.257000             🧑  作者: Mango

使用 R 语言从网页中提取所有 URL

在本文中,我们将学习如何使用 R 编程语言从网页中删除所有 URL。

为了废弃 URL,我们将使用httrXML库。我们将使用httr包生成 HTTP requestsXML 和XML以使用 xml 标签识别 URL。

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

安装:

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

我们已经成功地报废了 HTML 数据,但我们只需要 URL,因此我们使用 xpathSApply() 报废 URL 并将 HTML 数据传递给它,现在我们还没有完成,我们必须将 XML 标记传递给它,以便我们可以获得与之相关的所有内容标签。对于 URL,我们将使用“href”标签来声明 URL。

注意:如果您已经安装过一次软件包,则无需使用 install.packages()。

逐步实施

第 1 步:安装库:

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


R
# importing packages
library(httr)
library(XML)


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


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


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


R
# 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)


第 2 步:导入 图书馆:

R

# importing packages
library(httr)
library(XML)

第 3 步:发出 HTTP 请求:

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

R

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

第 4 步:以 HTML 格式解析站点数据:

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

R

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

第 5 步:识别 URL 并打印它们:

在这一步中,我们使用 xpathSApply() 来定位 URL。

R

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

我们知道 标签用于定义 URL,它存储在href属性中。

因此xpathSApply()将找到所有 标记并废弃存储在href属性中的链接。然后我们将所有的 URL 存储在一个变量中并打印出来。

例子:

输出: