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



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

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

我想检索突出显示的"812 H St NW":[目标][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

我认为当选择器小工具对您没有帮助时,您想检查源页面。在这种情况下,您只需要在<title></title>之间查找文本。我在文本中有一些额外的文本(即 - 谷歌搜索(。所以我最后删除了它。你可能没有。

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"文件的解决方案。

感谢您的回答。

最新更新