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

  • 普通鱼 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.textactive_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库,来模拟用户注册的流程,以达到邀请用户的目的。
  • 这个脚本也有很多不完善的地方,比如验证码识别、机器人检测、一些错误判断都没有,待完善的地方还有很多。
  • 这个脚本只是为了和大家交流学习。

相关资源

  • 详细代码地址:https://github.com/xiaochao/CatchFish

写个脚本薅区块鱼羊毛相关推荐

  1. [奶奶看了都会]教你用脚本薅京东签到羊毛

    又到了周末的时间,每次周末都得整点花里胡哨的东西玩,今天就来说说怎么用Python脚本自动完成京东签到领京豆 京豆在京东上面可以抵扣运费.充话费等等.京豆获取方式有每日签到.做任务 自动签到脚本 这里 ...

  2. 【奶奶看了都会】教你用Python 脚本薅京东签到羊毛

    又到了周末的时间,每次周末都得整点花里胡哨的东西玩,今天就来说说怎么用Python脚本自动完成京东签到领京豆 京豆在京东上面可以抵扣运费.充话费等等.京豆获取方式有每日签到.做任务 自动签到脚本 这里 ...

  3. 1美元训练BERT,教你如何薅谷歌TPU羊毛 | 附Colab代码

    晓查 发自 凹非寺 量子位 出品 | 公众号 QbitAI BERT是谷歌去年推出的NLP模型,一经推出就在各项测试中碾压竞争对手,而且BERT是开源的.只可惜训练BERT的价格实在太高,让人望而却步 ...

  4. 云重磅 |央视专访任正非;拼多多被薅上亿羊毛;甲骨文对云未来的10项技术预测...

    戳蓝字"CSDN云计算"关注我们哦! 嗨,大家好,重磅君带来的[云重磅]特别栏目,如期而至,每周二第一时间为大家带来重磅新闻.把握技术风向标,了解行业应用与实践,就交给我重磅君吧! ...

  5. 硅谷银行破产!真相更可怕:美国疯狂薅全世界的羊毛

    观点| Mr.K   主笔| Wendy.L   编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 今天的故事先从一名高富帅开始说起. 这位高富帅出生于1983年,在美国电子 ...

  6. python写的游戏怎么给别人玩-用python写游戏脚本原来这么简单

    前言 最近在玩儿公主连结,之前也玩儿过阴阳师这样的游戏,这样的游戏都会有个初始号这样的东西,或者说是可以肝的东西. 当然,作为一名程序员,肝这种东西完全可以用写代码的方式帮我们自动完成.游戏脚本其实并 ...

  7. python游戏最简单代码-用python写游戏脚本原来这么简单

    前言 最近在玩儿公主连结,之前也玩儿过阴阳师这样的游戏,这样的游戏都会有个初始号这样的东西,或者说是可以肝的东西. 当然,作为一名程序员,肝这种东西完全可以用写代码的方式帮我们自动完成.游戏脚本其实并 ...

  8. 用java写一个简单的区块链(下)

    用java写一个简单的区块链(下) 2018年03月29日 21:44:35 java派大星 阅读数:725 标签: 区块链java 更多 个人分类: 区块链 版权声明:本文为博主原创文章,转载请标明 ...

  9. EOS大神,C++写的高发并行区块链

    EOS大神,C++写的高发并行区块链 EOS 团队于 2017 年 7 月 28 日推出了单机测试版,基于此单机版开发者可以 完成用户注册.转账等简单功能.OracleChain 团队在第一时间对代码 ...

最新文章

  1. grpc 传递上下文_grpc 源码笔记 02:ClientConn
  2. VR跨界一触即发,探秘87870“魔都之夜”VR派对
  3. Oralce数据库数据迁移到另一个数据
  4. 第九章 Oracle结构及数据库表与开发语言的对应关系、Oracle数据类型char与varchar
  5. oracle管理用户安全,oracle中管理用户的安全
  6. linux定时任务_从零开始学Linux运维|41.定时任务crontab
  7. Linux线程退出、资源回收、资源清理的方法
  8. ImportError: No module named 'pip._vendor.retrying'
  9. 使用miniSIPServer搭建pjsip服务器
  10. 程序显示文本框_【教程】TestComplete测试桌面应用程序教程(二)
  11. Spring 事务管理总结
  12. java的迭代器详解
  13. java pdf 阅读器_纯Java文档阅读器(word、pdf等)
  14. 导出计算机应用的组策略,组策略应用
  15. 【PB】数据窗口的修改属性
  16. 电机控制基础知识储备
  17. 【Python编程】三步完成如何从视频中提取音频?
  18. 异常统一处理[ExceptionAdvice](SpringMVC)
  19. CSDN代码块背景色的调整
  20. macbook 2020 wintogo 安装驱动问题解决

热门文章

  1. 键盘输入一个长方形的两个边长,输出该长方形的周长、面积和对角线。要用到Math类提供的数学方法。
  2. 结对项目——可循环的最大子数组
  3. 直流输电模型基于pscad仿真软件的3端直流输电模型
  4. MySQL保存特殊字符及表情符
  5. bootmgr快速修复win7_Win7进入死亡倒计时,全国一半电脑要遭殃?
  6. 学习 第2章:备份与恢复选项
  7. 去掉Word启动时的受保护视图
  8. 设计一可控同步四进制可逆计数器, 其由输入X1,X2控制, 用D触发器和74153及必要的门电路实现
  9. A Prompting-based Approach for Adversarial Example Generation andRobustness Enhancement
  10. Σoφoς:简单但有效的前向安全对称可搜索加密