gpt4 book ai didi

r - 如何将 xpath 传递给 html_nodes()?

转载 作者:行者123 更新时间:2023-12-03 01:25:55 24 4
gpt4 key购买 nike

我想使用 html_nodes 从 google 搜索结果中抓取组织的名称(我只需要第一个元素,假设这将是最好的猜测)。现在,我尝试使用其 xpath 定位第一个结果,并将其传递给函数 html_nodes。为了找到 xpath,我使用 google chrome,如下图所示 enter image description here

这给了我 //*[@id="rso"]/div[1]/div/div[1]/div/div/h3/a 作为标题的 xpath第一个结果的。但是,当我尝试将其传递给 html_nodes() 时,我得到一个空字符串:

page %>% html_nodes(xpath='//*[@id="rso"]/div[1]/div/div[1]/div/div/h3/a')
{xml_nodeset (0)}

虽然我期望字符串 The A-Test 2017 Workshop

如何使用 xpath 或 css 获取 a 标记的内容?

最佳答案

抓取网站时,selectorgadget是一个很棒的工具。使用这个我可以确定,通过谷歌搜索结果,所有标题都可以通过以下 css 标签找到:.r

要抓取结果,您可以使用如下内容:

library(rvest)

# searching for `rstudio`
page <- read_html("https://www.google.at/search?client=safari&rls=en&q=rstudio&ie=UTF-8&oe=UTF-8&gfe_rd=cr&ei=VpJsWe2oOqqk8wfT5KaQDQ")

page %>%
html_nodes(".r") %>%
html_text()
#> [1] "RStudio – Open source and enterprise-ready professional software ..."
#> [2] "Download"
#> [3] "Download RStudio Server"
#> [4] "RStudio Server"
#> [5] "Shiny"
#> [6] "RStudio – Wikipedia"
#> [7] "RStudio - Wikipedia"
#> [8] "Datenrettung | R-Studio 8.3 Deutsch | Software zur Datenrettung ..."
#> [9] "GitHub - rstudio/rstudio: RStudio is an integrated development ..."
#> [10] "RStudio · GitHub"
#> [11] "R-Studio"
#> [12] "Install RStudio with R Server on HDInsight - Azure | Microsoft Docs"

您可以通过子集轻松找到第一个:

page %>% 
html_nodes(".r") %>%
html_text() %>%
.[1]
#> [1] "RStudio – Open source and enterprise-ready professional software ..."

此博客更彻底地演示了该方法:https://blog.rstudio.com/2014/11/24/rvest-easy-web-scraping-with-r/

关于r - 如何将 xpath 传递给 html_nodes()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45139335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com