写个脚本薅区块鱼羊毛

栏目: Python · 发布时间: 7年前

内容简介:写个脚本薅区块鱼羊毛

概述

区块鱼 是一个基于区块链的游戏,这个游戏目前有个邀请活动,邀请好友注册,送相应种类的鱼,不同的鱼价格不一样

  • 普通鱼 0.015 ETH起(邀请3个好友)
  • 稀缺鱼 0.05 ETH起(邀请15个好友)
  • 史诗鱼 0.35 ETH起(邀请100个好友)
  • 传奇鱼 1.5 ETH起(邀请1000个好友)

最重要的是,这个网站是用邮箱注册的,并且没有屏蔽掉临时邮件服务,所以我们就有嘿嘿嘿了。

工具准备

  • 一个临时邮箱服务:我这地方选用的是 YOPmail
  • Python
  • chrome webdriver
  • selenium
  • iterm2(安装imgcat 工具): 因为要输入验证码,所以选用iterm2,这样可以把验证码图片输出到终端。

步骤

获取自己的邀请链接

去区块鱼的网站,注册一个账户,获取到自己的邀请链接。

获取一个临时邮箱

  • 打开YOPmail网站,获取一个邮箱地址,如下图 写个脚本薅区块鱼羊毛 写个脚本薅区块鱼羊毛 注意第一张图片,有个查看邮箱按钮,输入临时邮箱,点击这个按钮,就可以查看这个临时邮箱收到的邮件,这在获取激活连接有用。整个流程代码实现如下:
driver.get('http://www.yopmail.com/zh/email-generator.php')
    time.sleep(1)
    email = driver.find_element_by_id("login")
    email = email.get_attribute('value')

模拟邀请注册

  • 上一步,我们获取到了临时邮箱
  • 打开自己的邀请链接,然后依次点击登录->注册,然后填写注册信息,如下图 写个脚本薅区块鱼羊毛 写个脚本薅区块鱼羊毛 写个脚本薅区块鱼羊毛

  • 代码如下

driver.get('http://my.fishbank.io/go/122169')
    time.sleep(1)
    login_btn = driver.find_element_by_css_selector('.button.red.bigrounded.big')
    login_btn.click()
    driver.get('https://my.fishbank.io/register')
    time.sleep(1)
    email_input = driver.find_element_by_id('user_email')
    password_one = driver.find_element_by_id('user_plainPassword_first')
    password_two = driver.find_element_by_id('user_plainPassword_second')
    cap_input = driver.find_element_by_id('user_captcha')
    register_btn = driver.find_element_by_css_selector('.button.green.bigrounded.mid')
  • 因为有验证码的问题,而且简单的验证码识别库还得识别不出来,所以,这地方不打算花太多时间,直接把验证码图打印到终端,手动输入
cap = driver.find_element_by_class_name('captcha_image')
    with open(image_path, 'wb') as fi:
        fi.write(base64.b64decode(cap.get_attribute('src').split(',')[1]))
    os.system(imgcat+' '+image_path)
    code = input('输入验证码')
  • 填入数据,点击注册按钮
password = ''.join(random.sample(string.ascii_letters+string.digits, 10))
    email_input.send_keys(email)
    password_one.send_keys(password)
    password_two.send_keys(password)
    cap_input.send_keys(code)
    time.sleep(2)
    register_btn.click()

邮箱激活

  • 注册成功后,我们的临时邮箱就会收到一封注册激活的邮件,打开第一步的邮箱页面,输入邮箱,点击检查按钮,就可以打开邮箱了。
driver.get('http://www.yopmail.com/zh/')
    time.sleep(1)
    email_input = driver.find_element_by_id('login')
    check_btn = driver.find_element_by_class_name('sbut')
    email_input.send_keys(email)
    check_btn.click()
  • 打开邮箱页面后,我发现,邮箱的内容是以iframe的形式展现的,所以,这地方要处理一下:
driver.switch_to_frame(driver.find_element_by_id('ifmail'))
    try:
        html = driver.find_element_by_id('mailmillieu')
    except Exception as e:
        input('遇到机器识别的问题,切换到浏览器点击一下,验证完敲一下回车')
        html = driver.find_element_by_id('mailmillieu')
    html = html.text
    active_url = html.split('account:')[1].strip()
    driver.get(active_url)
    time.sleep(1)
    driver.delete_all_cookies()
    time.sleep(1)
  • 这地方有个需要注意的地方,就是打开邮箱次数多了,YOPmail会出一个机器识别的检测,所以代码中有个try catch语句,来判断是否遇到了这个机器检测,如果遇到了,则需要自己点击一下那个检测,然后继续运行代码。
  • 获取到注册链接后,直接打开激活就可以了。

成果展示

写个脚本薅区块鱼羊毛

总结

  • 这个脚本就是简单的利用 python 的selenium库,来模拟用户注册的流程,以达到邀请用户的目的。
  • 这个脚本也有很多不完善的地方,比如验证码识别、机器人检测、一些错误判断都没有,待完善的地方还有很多。
  • 这个脚本只是为了和大家交流学习。

以上所述就是小编给大家介绍的《写个脚本薅区块鱼羊毛》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ethnography and Virtual Worlds

Ethnography and Virtual Worlds

Tom Boellstorff、Bonnie Nardi、Celia Pearce、T. L. Taylor / Princeton University Press / 2012-9-16 / GBP 21.00

"Ethnography and Virtual Worlds" is the only book of its kind - a concise, comprehensive, and practical guide for students, teachers, designers, and scholars interested in using ethnographic methods t......一起来看看 《Ethnography and Virtual Worlds》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具