使用 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”文件的解决方案。
感谢您的回答。
我正在尝试从以下 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”文件的解决方案。
感谢您的回答。