前言
2022年6月3日端午节安康。
今天主要分享如何利用爬虫爬取区块链浏览器上的交易列表数据。
原因
dune上没有bsc链上的转账明细数据表。FootprintAnalytics上现有的bsc_transactions表transfer_type粒度不够。
环境
python3.7
数据存储:mysql5.7
缓存:redis6.2.6
开发工具:pycharm
思路
所有协议、合约、swap地址转账信息全爬不太实际,对存储要求比较高。所以针对需要分析的协议,专门去爬取对应智能合约转账是个不错的选择。
区块链浏览器肯定是有反爬机制的。所以在代理选择上,要选择国外的代理。国内的代理都访问不到,具体原因你懂的。本文中不涉及代理部分,因为国外的代理厂家之前没有了解过。不过即使是上代理,对代码层面改动也比较小
采用了urllib同步请求+范围内随机时长程序休眠。减少了被风控的概率。但是也降低了爬虫的效率。
后面再研究用scrapy或异步请求
同步:请求发送后,需要接受到返回的消息后,才进行下一次发送。异步:不需要等接收到返回的消息。
实现
找到需要爬取合约的具体地址:
加密研究员:Jump Trading可能通过操纵Pyth喂价阻止链上仓位被清算:11月27日消息,加密货币和金融研究员FatMan发推表示,对做市商Jump Trading产生质疑,认为其有可能通过操纵Pyth预言机喂价阻止某些链上仓位被清算,甚至表示有Jump员工透露数月前Jump有意使用Pyth狙击散户仓位。[2022/11/28 21:05:32]
第一页
http://bscscan.com/txs?a=0xbd3bd95529e0784ad973fd14928eedf3678cfad8
第二页
https://bscscan.com/txs?a=0xbd3bd95529e0784ad973fd14928eedf3678cfad8&p=2
第三页
https://bscscan.com/txs?a=0xbd3bd95529e0784ad973fd14928eedf3678cfad8&p=3
....
可以知道p=?就代表页数。
然后F12点击“网络”,刷新界面,查看网络请求信息。
主要查看,网页上显示的数据,是哪个文件响应的。以什么方式响应的,请求方法是什么
ChilizX与Pyth达成合作,成为Pyth Network数据发布者:11月21日消息,据官方消息,代币化运动交易所ChilizX宣布以数据发布者身份正式加入Pyth network。
Chiliz此前开发Socios.com,为体育品牌提供其官方粉丝代币销售和购买服务,其中包括巴塞罗那、尤文图斯、巴黎圣日耳曼、AS罗马、加拉塔萨雷、马德里竞技、OG、阿根廷独立竞技以及UFC等,并使用CHZ作为平台原生代币。[2022/11/22 7:53:50]
如何验证呢,就是找一个txn_hash在响应的数据里面按ctrl+f去搜索,搜索到了说明肯定是这个文件返回的。
查看响应的数据,是html的格式。在python里面,处理html数据,个人常用的是xpath
在python里面安装相关的依赖
pip?install?lxml?‐i?https://pypi.douban.com/simple
同时在浏览器上安装xpath插件,它能更好的帮助我们获到网页中元素的位置
Paloma与Pyth Network和AlgoReturns合作,推出去中心化跨链系统交易区块链:10月12日消息,去中心化区块链和通信协议Paloma宣布与oracle解决方案Pyth Network和算法交易解决方案AlgoReturns合作,推出首个去中心化跨链系统交易区块链。该合作旨在公共区块链上传递交易信号,并允许用户在不同的区块链上同时交易同一代币,简化了整个交易过程。[2022/10/12 10:32:19]
XPathHelper-Chrome网上应用店(google.com)
然后就可以通过插件去定位了,返回的结果是list
**注:**浏览器看到的网页都是浏览器帮我们渲染好的。存在在浏览器中能定位到数据,但是代码中取不到值的情况,这时候可以通过鼠标右键-查看网页源码,然后搜索实现
#?请求和xpath定位具体实现代码:
def?start_spider(page_number):
预言机Pyth Network推出基于Solana代码库的网络Pythnet:8月2日消息,Solana生态预言机Pyth Network宣布推出基于Solana代码库的网络Pythnet。Pyth称,Pythnet能使Pyth网络以亚妙级聚合第一方数据,并通过Wormhole的通用消息传递层向其他链提供定价。
Pyth Network表示,截至目前已聚合来自65多个提供商的链上数据以支持80多个价格流,每秒会进行700次价格更新,使用Pythnet后将能够扩展20倍。[2022/8/2 2:53:12]
????url_base?=?'http://bscscan.com
/txs?a=0xbd3bd95529e0784ad973fd14928eedf3678cfad8&'
????#?请求头
????headers?=?{
????????'User-Agent':?'Mozilla/5.0?(Windows?NT?10.0;?Win64;?x64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/92.0.4515.159?Safari/537.36',
????????'referer':?'https://bscscan.com/txs?a=0xbd3bd95529e0784ad973fd14928eedf3678cfad8'
动态 | eToro聘请美国演员Alec Baldwin推广加密交易平台新功能CopyTrader:为了获得主流的吸引力,eToro聘请美国电视及电影演员Alec Baldwin作为发言人,帮助推广eToro为美国投资者推出的CopyTrader新功能。据悉,该功能将允许eToro的美国用户在其平台上自动复制顶级加密货币交易者的所有交易。(Sludgefeed)[2019/10/31]
????}
????#?需要传入的参数
????data?=?{
????????'p':?page_number
????}
????#?将参数转为Unicode编码格式
????unicode_data?=?urllib.parse.urlencode(data)
????#?拼接网址
????#?http://bscscan.com/txs?a=0xbd3bd95529e0784ad973fd14928eedf3678cfad8
????url?=?url_base?+?unicode_data
????#?自定义request对象
????request?=?urllib.request.Request(url=url,?headers=headers)
????#?模拟浏览器发送请求
????response?=?urllib.request.urlopen(request)
????#?将返回的数据利用lxml转为
????tree?=?etree.HTML(response.read().decode('utf‐8'))
????#?//div//tbody//td//span/a/text()
????txn_hash_list?=?tree.xpath("//div//tbody//td//span/a/text()")
????#?//div//tbody//td//span/text()
????method_list?=?tree.xpath(
????????"//div//tbody//td//span/text()")
????#?//div//tbody//td//text()
????block_list?=?tree.xpath("//div//tbody//td//text()")
????#?//div//tbody//td/span//img/20230515175712426316/5.jpg "/>
最后就是存入到数据库了。这个没啥好说的。
以上就可以拿到转账列表中的txn_hash,后面还要写一个爬虫深入列表里面,通过txn_hash去爬取详情页面的信息。这个就下个文章再说,代码还没写完。
今天就写到这里。拜拜ヾ(?ω?`)o
来源:Bress
作者:撒酒狂歌
「SOLCommunity>ETHCommunity.」Orangie发了这样一条推文。Orangie是Twitter上的一个拥有超过160k粉丝的NFTKOL,虽然他现在仍然用MAYC作为头像,但很明显他已经把目光转向了Sol.
1900/1/1 0:00:00鉴于投资者对于持续高通胀和TerraUSD稳定币崩盘的担忧,比特币和其他加密货币在本月迎来暴跌,截止目前整体行情仍旧低靡.
1900/1/1 0:00:00金色财经报道,周一在达沃斯世界经济论坛的一个小组讨论会上,法国央行行长表示,未来三年世界可能会出现一种强大的央行数字货币.
1900/1/1 0:00:00导语 北京时间2021年3月11日,纽约佳士得网络拍卖艺术家Beeple的一幅NFT数字艺术品《每一天:前5000天》经过14天的网上竞价,最终以约6900万美元成交,是世界上第一件在传统拍卖行出售的纯数字非同质化代币作品.
1900/1/1 0:00:00我不信任我们的领导人,美联储、财政部,也不信任股市。——罗伯特·清崎20世纪是人类商业走向巅峰的关键时刻,从1900年到2000年的100年中,人类在前50年中用战争结束了全球的战乱,用后50年完善了全球经济的根基.
1900/1/1 0:00:00头条 ▌Terra:新TerraCore最终版本已发布,已在5月27日启动新链5月25日消息,Terra官方表示,新TerraCore的最终版本已经发布,已准备在5月27日启动新链,代码已通过SCVSecurity审计.
1900/1/1 0:00:00