我正在R上开发一个项目。我想找到链接aosmith.com,因为它已在Wikipedia页面https://en.wikipedia.org/wiki/A._O._Smith上公开。可能我的问题再次被问到,但我还没有找到解决的办法。到目前为止,我做了以下工作,但没有成功:
library(rvest)
library(magrittr)
url <- "https://en.wikipedia.org/wiki/A._O._Smith"
links <- read_html(url) %>% html_nodes(., ".lister-item-header a") %>% html_attr(., "href")
答案 0 :(得分:2)
这应该适用于任何设置为url的Wikipedia链接,并且只会返回所需的URL:
library(rvest)
library(magrittr)
url <- "https://en.wikipedia.org/wiki/A._O._Smith"
link<-read_html(url) %>% html_nodes(".infobox") %>% html_nodes(".url>a")%>% html_attr(name='href')
答案 1 :(得分:2)
通过使用特定的xpath表达式,您可以获得更多的控制权和通用性。该xpath表达式仅搜索带有文本“ A.O. Smith”的链接。与使用浏览器生成的编号xpath相比,如果/在更新页面时,这种可能性较小。
library(rvest)
library(magrittr)
url <- "https://en.wikipedia.org/wiki/A._O._Smith"
link <- read_html(url) %>%
html_nodes(xpath = "//a[text() = 'A.O. Smith']") %>%
html_attr("href")
link
#> [1] "http://www.aosmith.com"
答案 2 :(得分:1)