我想在这个网页上提取每一集的所有链接,但我似乎在使用html_nodes((时遇到了困难,因为我以前从未遇到过这种困难。我正在尝试使用"来迭代代码"使得该页面的所有属性都是用该CSS获得的。这段代码的目的是给出所有属性的输出,但我得到了{xml_nodeset(0(}。我知道一旦我拥有了所有的属性,该怎么办才能获得特定的链接,但这一步对这个网站来说是一个绊脚石。
这是我在R:中开始的代码
episode_list_page_1 <- "https://jrelibrary.com/episode-list/"
episode_list_page_1 %>%
read_html() %>%
html_node("body") %>%
html_nodes(".type-text svelte-fugjkr first-mobile first-desktop") %>%
html_attrs()
此rvest-down在此处不起作用,因为此页面使用javascript将另一个网页插入此页面上的iframe中,以显示信息。
如果你搜索imebedded脚本,你会发现对这个页面的引用:";https://datawrapper.dwcdn.net/eoqPA/66/"这将把你重定向到";https://datawrapper.dwcdn.net/eoqPA/67/"。第二个页面包含您在嵌入式JSON中查找的数据,这些数据是通过javascript生成的。
节目的链接是可提取的,还有一个指向谷歌文档的链接,这是完整的索引。
搜索此页面会发现一个指向谷歌文档的链接:
library(rvest)
library(dplyr)
library(stringr)
page2 <-read_html("https://datawrapper.dwcdn.net/eoqPA/67/")
#find all of the links on the page:
str_extract_all(html_text(page2), 'https:.*?\"')
#isolate the Google docs
print(str_extract_all(html_text(page2), 'https://docs.*?\"') )
#[[1]]
#[1] "https://docs.google.com/spreadsheets/d/12iTobpwHViCIANFSX3Pc_dGMdfod-0w3I5P5QJL45L8/edit?usp=sharing"
#[2] "https://docs.google.com/spreadsheets/d/12iTobpwHViCIANFSX3Pc_dGMdfod-0w3I5P5QJL45L8/export?format=csv&id=12iTobpwHViCIANFSX3Pc_dGMdfod-0w3I5P5QJL45L8"