如何使用R语言爬取bitinfocharts网站图表中的推文量数据
R语言爬取bitinfocharts站点推文数据方案
前置依赖
先安装所需的爬虫和数据处理包,执行代码:
install.packages(c("rvest", "stringr", "readr", "httr"))
完整实现代码
# 加载依赖包 library(rvest) library(stringr) library(readr) library(httr) # 目标页面地址 target_url <- "https://bitinfocharts.com/comparison/decred-tweets.html#alltime" # 发起页面请求,模拟浏览器UA避免被反爬 page_content <- read_html( target_url, add_headers(`User-Agent` = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36") ) # 提取内嵌图表数据的JS代码段 js_text <- page_content %>% html_elements("script") %>% html_text() %>% str_subset("new Dygraph") # 正则匹配提取核心数据数组 data_str <- str_extract(js_text, '(?<=new Dygraph\\(document.getElementById\\("container"\\), )\\[.*?\\](?=,)') # 解析数据转为结构化数据框 raw_data <- eval(parse(text = data_str)) result_df <- data.frame( 日期 = as.Date(sapply(raw_data, function(x) x[[1]])), 推文数 = sapply(raw_data, function(x) ifelse(is.null(x[[2]]), NA, x[[2]])) ) # 可选:删除无统计数据的空行 result_df <- na.omit(result_df) # 导出为CSV文件到当前工作目录 write_csv(result_df, "decred每日推文数.csv")
结果说明
- 输出的
decred每日推文数.csv默认保存在R的当前工作目录下,包含日期、对应日期推文数两列数据 - 如果需要爬取其他币种的推文统计数据,仅需将
target_url替换为对应币种的页面地址即可
内容的提问来源于stack exchange,提问作者FRANCESCO S.
相关产品推荐
相关产品推荐

