我想使用html_nodes從谷歌搜尋結果中搜集組織的名稱(我隻需要第一個元素,假設這将是最好的猜測).
現在,我試圖使用其xpath來定位第一個結果,并将其傳遞給函數html_nodes.
要查找xpath,我使用的是谷歌浏覽器,如下圖所示
這給了我* * [@ 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擷取該标記的内容?
最佳答案 在抓取網站時,
selectorgadget是一個很棒的工具.使用這個我可以确定使用谷歌搜尋結果,可以使用以下css-tag找到所有标題:.r.
為了刮取結果,你可以使用這樣的東西:
library(rvest)
# searching for `rstudio`
page
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 ..."