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

如何使用Beautiful Soup抓取Blockchain交易页高级详情中的Time等数据?

如何用Beautiful Soup抓取Blockchain.com交易详情页的高级信息(无需Selenium)

问题描述

我需要抓取的目标URL是:https://www.blockchain.com/explorer/transactions/btc/43eebdc59c6c5ce948ccd9cf514b6c2ece9f1289f136c2e3d9d69dcd29304142,要求使用Beautiful Soup而非Selenium(不打开浏览器)。尝试从class为sc-f9148dd7-2 irWxzm的section标签提取数据,但发现该标签下仅能找到sc-c907597a-0 MqlNG和sc-c907597a-3 ctQMfW的标签,无法获取到Time等高级详情区域的内容。

当前代码如下:

import requests
import bs4
from bs4 import BeautifulSoup
url = 'https://www.blockchain.com/explorer/transactions/btc/43eebdc59c6c5ce948ccd9cf514b6c2ece9f1289f136c2e3d9d69dcd29304142' 
res = requests.get(url)
format = '%Y-%m-%d %H:%M'
soup = BeautifulSoup(res.content, 'html.parser')

soup2 = soup.find('section',{'class':'sc-f9148dd7-2 irWxzm'})

print(soup2)

需要找到获取高级详情区域数据的方法。

问题原因

Blockchain.com的交易详情页采用JavaScript动态渲染内容,requests.get()只能获取页面的初始HTML骨架,而高级详情区域的内容是页面加载完成后通过JS异步请求接口获取并渲染的,因此静态HTML中并不包含这些内容,Beautiful Soup自然无法抓取到。

解决方案:调用官方API

Blockchain.com提供了公开的API接口用于获取交易详情,这种方式比抓取页面更可靠,且不受前端页面结构变化的影响。

代码示例

import requests
from datetime import datetime

# 目标交易哈希
tx_hash = '43eebdc59c6c5ce948ccd9cf514b6c2ece9f1289f136c2e3d9d69dcd29304142'
# 交易详情API地址
api_url = f'https://blockchain.info/rawtx/{tx_hash}'

response = requests.get(api_url)
tx_data = response.json()

# 提取交易时间(转换Unix时间戳为可读格式)
tx_time = datetime.fromtimestamp(tx_data['time']).strftime('%Y-%m-%d %H:%M')
# 示例:提取其他常用数据
tx_size = tx_data['size']
total_input = sum([inp['prev_out']['value'] for inp in tx_data['inputs']]) / 100000000
total_output = sum([out['value'] for out in tx_data['out']]) / 100000000

# 打印结果
print(f"交易时间: {tx_time}")
print(f"交易大小: {tx_size} bytes")
print(f"总输入: {total_input} BTC")
print(f"总输出: {total_output} BTC")

补充说明

  • API返回的是JSON格式的完整交易数据,包含Time及所有高级详情信息,解析起来比HTML更便捷。
  • 无需依赖Beautiful Soup,直接处理JSON即可,效率更高且稳定性更强。
  • 前端自动生成的class名称(如sc-f9148dd7-2 irWxzm)容易随版本更新变化,使用API可彻底规避此类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 07:01:10