(一)Selenium爬取智能合约账户地址及其交易记录

Selenium爬取智能合约交易记录

1.目的:爬取 https://eth.btc.com/accounts 上的智能合约账户地址及其交易记录数据。

2.方法:

  • 加入元素显式等待
  • 利用selenium爬取记录并判断是否为合约地址or外部地址(有合约地址图标的即合约地址)
  • 对爬取的数据做简单的第一步的数据处理使数据格式标准化
  • 将数据追加写入txt中

3.源代码(Python)

项目目录结构

项目结构

  • codeA中爬取的数据会保存在A.txt中
  • codeB中爬取的数据会保存在B.txt中
# @Content : 账户地址页面 A 爬取


from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECS
from selenium.webdriver.common.by import By
import time

url = 'https://eth.btc.com/accounts'
opt = webdriver.ChromeOptions()  # 创建浏览
driver = webdriver.Chrome(options=opt)  # 创建浏览器对象
driver.get(url)  # 打开网页

pageSum = 2  # 爬取多少页
all_list = []  # A数据总表

for q in range(1, pageSum + 1):
    print('开始爬取第' + str(q) + '页...')
    try:
        # 定位页面中的table表格元素
        table_loc = (By.CSS_SELECTOR,
                     '#root > div > section > section > main > div > div > div.page-container > '
                     'div:nth-child(2) > div > div > div > div > div > div > table')
        # 等待timeOut秒,直到发现元素
        timeOut = 20
        WebDriverWait(driver, timeOut).until(ECS.presence_of_element_located(table_loc))
    except:
        # timeOut秒后没有发现元素则会执行该方法
        print('执行except方法 : 没有找到对应元素! 当前已爬取到第', q, '页')
        driver.quit()
    finally:
        # 发现元素则执行下面的方法
        # 定位页面中的table表格元素
        el
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值