【发布时间】:2021-04-23 03:32:26
【问题描述】:
您好,我正在尝试抓取本页末尾的市场表格“https://coinmarketcap.com/currencies/bitcoin/markets/”
这是我尝试过的
crpyto_url <- read_html("https://coinmarketcap.com/currencies/bitcoin/markets/")
Exchanges <- crpyto_url %>%
html_node(xpath = '//*[@id="__next"]/div/div[2]/div/div[3]/div[2]/div[2]/div/table') %>%
html_text() %>%
jsonlite::fromJSON()
这是错误
Error in if (is.character(txt) && length(txt) == 1 && nchar(txt, type = "bytes") < : missing value where TRUE/FALSE needed
我不认为错误是相关的,我认为真正的问题是我不知道如何找到与表相关的xpath。
如果有人设法找到 xpath,您能否解释一下找到它的过程。或者链接一些资源。
谢谢
我。
【问题讨论】:
-
您是否考虑过使用他们的 API,而不是尝试通过网络抓取来访问数据?有一个用于从该网站提取数据的 R 包。在这里阅读:cran.r-project.org/web/packages/coinmarketcapr/…
-
该表是通过 JS 加载的,所以
rvest需要某种 API/XHR。或者,您可以查看RSelenium进行 JS 抓取。 -
是的,我尝试了 API,但如果您使用免费版本,它似乎真的很有限。不过我会继续寻找。我要去检查 RSelenium 谢谢
标签: r web-scraping rvest