使用 rvest、xml2 和选择器小工具进行网络抓取结果 xml_missing <NA>

Using rvest, xml2 and selector gadget for webscraping results in xml_missing <NA>

我正在尝试从以下 URL 中抓取信息:

https://www.google.com/search?q=812-800%20H%20St%20NW

我想检索突出显示的“812 H St NW”:[target][1]

选择器小工具(chrome 扩展名)建议使用以下节点“.desktop-title-content”

但是,我得到了一个 NA 结果,我不知道如何解决这个问题。

这是我的代码:

link <- "https://www.google.com/search?q=812-800%20H%20St%20NW"
xml2::read_html(link) %>% 
  rvest::html_node(".desktop-title-content") %>%  rvest::html_text()

[1] NA

谢谢 [1]: https://i.stack.imgur.com/mzY75.png

当 SelectorGadget 不能很好地帮助您时,我认为您想要检查源页面。在这种情况下,您只需要在 <title></title> 之间查找文本。我在文本中有一些额外的文本(即 - google 搜索)。所以我最后删除了它。你可能没有。

read_html("https://www.google.com/search?q=812-800%20H%20St%20NW") %>% 
html_nodes("title") %>% 
html_text() %>%
sub(pattern = " -.*$", replacement = "")

#[1] "812-800 H St NW "

看来我要获取的内容是由javascript生成的。因此,我需要创建一个 .js 文件并按照本教程使用 phantom JS 访问它:https://www.datacamp.com/community/tutorials/scraping-javascript-generated-data-with-r

然后,我就可以使用 rvest 抓取 正确的内容了。

不幸的是,我需要为大约 2000 个不同的链接执行此操作。我将寻找一种自动创建 2000 个“.js”文件的解决方案。

感谢您的回答。