You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用R与rvest爬取Etherscan.io中iframe内的地址?

解决方案

目标表格通过iframe嵌入主页面,直接请求主页面无法获取iframe内部的DOM元素,需先提取iframe的完整URL,再请求该URL获取目标内容。

步骤说明

  • 从主页面提取表格所在iframe的src属性值
  • 拼接完整的iframe访问URL(原src为相对路径)
  • 请求iframe页面,解析后提取复制地址按钮的内容

完整R代码

library(rvest)
library(dplyr)

# 1. 抓取主页面,提取目标iframe的相对路径
main_page <- read_html("https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7#balances")
iframe_src <- main_page %>% 
  html_nodes("iframe#tokentxnsiframe") %>% 
  html_attr("src")

# 拼接完整的iframe访问URL
full_iframe_url <- paste0("https://etherscan.io", iframe_src)

# 2. 抓取iframe页面,提取复制地址按钮的内容
iframe_page <- read_html(full_iframe_url)
target_addresses <- iframe_page %>% 
  html_nodes(".js-clipboard") %>% 
  html_attr("data-clipboard-text")

# 输出结果
print(target_addresses)

补充说明

  • 主页面中目标表格对应的iframe ID为tokentxnsiframe,可通过该ID精准定位
  • 若需爬取多页数据,可修改iframe URL中的p参数(例如p=2对应第二页)

内容的提问来源于stack exchange,提问作者Nick Amato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 11:25:59