爬虫:爬取以太坊区块链浏览器数据
步骤索引
- 爬取网址 :https://eth.btc.com/home
- 首页(输入代币代号)
- 数据页(点击翻页按钮测试请求:F12-Headers-Response)
- 获取到Header URL
- 获取到Response并分析格式
- 接下来便可通过通过以上请求头Header以及返回值Response获取并解析结果
爬取网址 :https://eth.btc.com/home
首页(输入代币代号)
数据页(点击翻页按钮测试请求:F12-Headers-Response)
获取到Header URL
Request URL:
https://explorer-web.api.btc.com/v1/eth/tokentxns/0x4f878c0852722b0976a955d68b376e4cd4ae99e5?page=2&size=10
Request Method: GET Status Code: 200 Remote Address:
18.141.83.207:443 Referrer Policy: no-referrer-when-downgrade
获取到Response并分析格式
Out[164]: {‘err_no’: 0, ‘data’: {‘page’: 1, ‘pagesize’: 10,
‘total_count’: 113881, ‘list’: [
{‘id’: 1,
‘tx_hash’: ‘0xa7c1873e0b070614f107e73ffaece6e66df8029267326c05b4366068cb896fdd’,
‘block_height’: 10443343,
‘created_ts’: 1594538711,
‘time_in_sec’: 1569898,
‘sender_hash’: ‘0xd81133299dc33329ab6cdf93434662dd0ae21810’,
‘receiver_hash’: ‘0x2317e431b3766abd24e770ba81c503371f4e5a8b’,
‘amount’: ‘1000000000’,
‘token_hash’: ‘0x4f878c0852722b0976a955d68b376e4cd4ae99e5’,
‘token_name’: ‘WaykiChain’,
‘token_decimal’: 8,
‘unit_name’: ‘WICC’,
‘sender_name’: ‘’,
‘receiver_name’: ‘’,
‘token_url’: None,
‘token_icon_url’: None,
‘token_found’: True},
{‘id’: 2,
‘tx_hash’: ‘0xe80e0048134155af74916e3e31054a783be3ba8cf6ea7a3b8fe6d8df2f53ed93’,
‘block_height’: 10366778,
‘created_ts’: 1593515753,
‘time_in_sec’: 2592856,
‘sender_hash’: ‘0xfdaccb5ecd9ddaf3ec2d7a49bc19ef0b21217760’,
‘receiver_hash’: ‘0xa15768d846b631154d2394a17e42eaefae26eaf3’,
‘amount’: ‘100000000000’,
‘token_hash’: ‘0x4f878c0852722b0976a955d68b376e4cd4ae99e5’,
‘token_name’: ‘WaykiChain’,
‘token_decimal’: 8,
‘unit_name’: ‘WICC’,
‘sender_name’: ‘’,
‘receiver_name’: ‘’,
‘token_url’: None,
‘token_icon_url’: None,
‘token_found’: True}
…
…省略重复部分…
…
]},
‘err_msg’: None}
接下来便可通过通过以上请求头Header以及返回值Response获取并解析结果
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 30 14:30:46 2020@author: Songyou Han
"""import requests
import pymysql
import json# 打开数据库连接 #连接本地爬虫数据库
database = pymysql.connect("localhost", "root", "root", "reptitles", charset='utf8' )
cursor = database.cursor()
table = 'reptitles_of_ethereum_brower_wicc'#爬虫部分
#设置以太坊区块链浏览器连接头部/尾部,中间留待循环拼接页码插入位置
url_head = "https://explorer-web.api.btc.com/v1/eth/tokentxns/0x4f878c0852722b0976a955d68b376e4cd4ae99e5?page="
url_foot = "&size=500"#循环提取200页的数据
for page in range(200):url = url_head+str(page+1)+url_footr = requests.get(url)datas = json.loads(r.text) #将字符串序列转换为jsonlist = datas["data"]["list"] #获取数据列表print("get data of page %d"%(page+1))print("=====================================================")#向数据库插入数据column = 1 #计数器while list:data = list.pop()keys = ','.join(data.keys())values = ','.join(['%s'] * len(data))sql = 'INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE'.format(table=table, keys=keys, values=values)update = ','.join([" {key} = %s".format(key=key) for key in data])sql += updatetry:cursor.execute(sql, tuple(data.values())*2)print('Successful insert cloumn '+str(page+1)+'.'+str(column))column += 1database.commit()except:print('Failed')database.rollback()print("https://eth.btc.com/home :WICC以太坊代币:转账数据爬取完毕!!!")# 关闭数据库连接
cursor.close()
database.close()
爬虫:爬取以太坊区块链浏览器数据相关推荐
- 区块链开发(五)搭建以太坊区块链浏览器
经过前面文章介绍,已经搭建以太坊的区块链环境,但是没有一个界面能查看到区块链的块数等信息,不是很直观,本篇搭建以太坊区块链浏览器. 下载区块链浏览器代码 uiran@cuiran:~/ethereum ...
- 以太坊区块链浏览器(一)拿来就用主义
以太坊区块链浏览器ethereum explorer开源部署过程,以及问题解决. 更多区块链技术与应用分类: 区块链应用 区块链开发 以太坊 | Fabric | BCOS | 密码技术 | 共 ...
- 攻略:手把手教你如何看懂以太坊区块链浏览器(配图更清晰)
查询以太坊区块链上的数据我们需要通过区块链浏览器来看区块里的信息,浏览器其实有很多,这里用的是 Etherscan, 网址 https://etherscan.io/ 可以用来查询在以太坊上的很多信息 ...
- 以太坊区块链浏览器的搭建
以太坊区块链浏览器的搭建 环境;Ubuntu 首先需要下载git 参考链接:http://www.360bchain.com/article/156.html apt install git 1.下载 ...
- 以太坊区块链浏览器(二)开发
以太坊区块链浏览器开发,包括合约信息及链上信息展示,web3j的对应API. 更多区块链技术与应用分类: 区块链应用 区块链开发 以太坊 | Fabric | BCOS | 密码技术 | 共识算 ...
- 谈谈区块链入门技能(二):以太坊区块链浏览器如何使用?
上一期我们介绍了比特币浏览器如何使用,本期我们来谈一谈什么是以太坊以及以太坊浏览器如何使用. 什么是以太坊? 以太坊是一个合作运行的.全球性的.透明的数据库.通过共同努力,来自世界各地的参与者维护了以 ...
- 六号美术馆 基于以太坊区块链上的区块链游戏
六号美术馆 是一个在以太坊网络上运行的分布式应用程序,使用专门开发的智能合约,让玩家可以在六号美术馆中购买.拥有和传输大师级美术珍藏("珍藏.收藏或馆藏"),然后用户可以在网站上观 ...
- 用以太坊区块链保证Asp.Net Core的API安全(上)
去中心化应用程序(DApp)的常见设计不仅依赖于以太坊区块链,还依赖于API层.在这种情况下,DApp通过用户的以太坊帐户与智能合约进行交互,并通过交换用户凭据而发布的JWT token与API层进行 ...
- 微软希望使用以太坊区块链来打击盗版;腾讯再投 500 亿元资金助力共同富裕;IT 从业者被纳入新生代农民工 | EA周报...
EA周报 2021年8月20日 每个星期7分钟,元宝带你喝一杯IT人的浓缩咖啡,了解天下事.掌握IT核心技术. 周报看点 1.全球 90 多家组织敦促苹果放弃引入"儿童安全"功能计 ...
最新文章
- 实现linux作为server时与windows间的数据同步
- asp.net性能的技巧
- php如何实现用户报警,php封装实现钉钉机器人报警接口的示例代码
- Vue组件多次点击报错Avoided redundant navigation to current location: “/profile“.
- Qt笔记-QxOrm基本使用(对SQLLite进行增删改查)
- dbms_stats包更新、导出、导入、锁定统计信息
- 类似与fiddler的抓包工具 burp suite free edition
- [转]使用Android-Studio 开发Android 程序
- shell脚本练习题
- HTML5第6章上机,第6章__HTML5的表单.ppt
- Python 基础 1加到100 求和
- Useing flex4 读书笔记
- java jtextarea 事件_JTextArea事件处理
- .NET内存性能分析宝典
- 同步异步,阻塞非阻塞,进程间通信
- CC00042.CloudKubernetes——|KuberNetes二进制部署.V20|5台Server|——|kubernetes配置|生产环境关键性配置|
- 如何利用无常损失从流动资金池中提取价值
- 计算机考试题目制作表格,用WPS表格轻松制作出美观实用的工资条2
- 微信域名检测接口原理,微信js接口域名该如何实现
- php 数组转二进制,php转16进制_php 十六进制转化为二进制的代码