批量自动注册OneDrive 5T 账号python+selenium实现

释放双眼,带上耳机,听听看~!

程序主要就两块儿:
sign_up()功能:

  1. 设置临时邮箱
  2. 填写注册信息
  3. 等待验证
  4. 填写验证码
  5. 完成注册

main()功能:

  1. 注册名称设置
  2. selenium参数设置
  3. 调用sign_up()
  4. 注册后的账号密码写入文件

以下代码仅供参考讨论,请勿用于商业或者非法用途,否则,一切后果请自负!!

# coding = utf-8
# 以下代码仅供参考讨论,请勿用作其它非法用途
# [url=http://www.52pojie.cn]www.52pojie.cn[/url]
 
# python 3.7
# @Author:iknew
 
from bs4 import BeautifulSoup as bs 
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import selenium
import time
import csv
import random
from mock_useragent import UserAgent
 
‘’‘1. 设置临时邮箱
2. 填写注册信息
3. 等待验证
4. 填写验证码
5. 完成注册
’‘’
 
def sign_up(name,pwd):
    global element
    email = name + '@t.odmail.cn'
 
    url = 'https://t.odmail.cn/'
    code = ''
    browser.get(url)
    time.sleep(3)
    try:
        browser.implicitly_wait(15)
        element = browser.find_element_by_id('customShortid')
    except selenium.common.exceptions.NoSuchElementException:
        print('网页加载不出来')
        sign_up(name,pwd)
    element.click()
    browser.implicitly_wait(5)
    browser.find_element_by_id('shortid').send_keys(name)
    browser.implicitly_wait(5)
    element.click()
    print('email set up ...')
    # browser.execute_script(js)
    js = 'window.open("https://signup.microsoft.com/signup/index?sku=faculty");'
    browser.execute_script(js)
    windows = browser.window_handles
    browser.switch_to.window(windows[1])
    browser.implicitly_wait(30)
    browser.find_element_by_id("StepsData_Email").send_keys(email)
    browser.implicitly_wait(2)
    browser.find_element_by_class_name('mpl-button-box-text').click()
    browser.switch_to.window(windows[0])
    print('waiting for verification code ...')
 
    while code == '':
        time.sleep(3)
        browser.find_element_by_id('maillist')
        r = browser.find_element_by_id('maillist').text
        code = r[49:55]
    print('Got the verification code:{}\n'.format(code))
    browser.implicitly_wait(10)
    #切换窗口到注册页面填写信息、验证码:
    browser.switch_to.window(windows[1])
    browser.implicitly_wait(20)
    try:    
        element = browser.find_element_by_class_name('last-name')
        element.send_keys('o')
    except selenium.common.exceptions.ElementNotInteractableException: browser.quit()
    browser.implicitly_wait(5)
    browser.find_element_by_class_name('first-name').send_keys('o')
    browser.implicitly_wait(5)
    browser.find_element_by_id('Password').send_keys(pwd)
    browser.implicitly_wait(5)
    browser.find_element_by_id('RePassword').send_keys(pwd)
    browser.implicitly_wait(5)
    browser.find_element_by_id('SignupCode').send_keys(code)
    browser.implicitly_wait(10)
    browser.find_element_by_class_name('mpl-button-box-text').click()
    print('注册的账号密码:{0},{1},  验证码:{2}\n'.format(email,pwd,code))
    try:    
        browser.implicitly_wait(20)
        element = browser.find_element_by_class_name('ms-fcl-tp')
        element.click()
    except selenium.common.exceptions.StaleElementReferenceException: 
        browser.refresh()
    return [email,pwd]
 
’‘’1. 注册名称设置2. selenium参数设置
3. 调用sign_up()
4. 注册后的账号密码写入文件
'''
def main():
    global browser
    n = 0
    for i in range(1,1000):  #   设置注册ID范围,程序中断需要手动修改起始位置...        
        name = '这里填你想要的名称'+str(i)  
        pwd = 'One.'+str(random.randint(1000,9990))
 
        t = time.time()
        agent = UserAgent.random_chrome
        options = Options()
        options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"])#避免一些无关紧要的报错
        options.add_argument('--user-agent={}'.format(agent))
        options.add_argument('--ignore-certificate-errors')
        options.add_argument('--ignore-ssl-errors')
        options.add_argument('--start-maximized')   #窗口最大化,感觉不太需要
        options.add_argument('--window-size=1920,1080')#设置窗口大小
        options.add_argument('--headless')          # 后台运行,可注释掉查看自动注册流程
        browser = webdriver.Chrome(chrome_options= options)
#调用sign_up函数注册
        user = sign_up(name,pwd)
        f = open('onedrive.csv','a',newline='')
        writer = csv.writer(f)
        f.seek(0,2)
        writer.writerow(user)
        f.close()
        n += 1
        print('Time now:{0}'.format(time.strftime("%Y%m%d %X", time.localtime())))
        print('注册第 "{}"个用时:{:.2f} 秒'.format(n,time.time()-t),end='\n---------------------')
        browser.quit()
        if n % 20 == 0 :
            print('休息10分钟,避免IP被封')
            time.sleep(600)
 
if __name__ == "__main__":
    main()

下载地址

[button color=”info” icon=”” url=”https://ycb.hk/download/file?cid=489″ type=””]本地下载[/button]

温馨提示:本文最后更新于 2019-10-12 23:57 ,某些文章具有时效性,若有错误或已失效,请在下方留言或联系逆念

给TA打赏
共{{data.count}}人
人已打赏
源码插件

整理的一些JSON格式免费接口API

2019-8-31 11:45:00

源码插件

全网最新抖音视频去水印解析PHP网页源码

2019-10-13 1:06:00

重要声明

本站资源大多来自网络,如有侵犯你的权益请联系管理员,QQ508044570 我们会第一时间进行审核删除。站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果遇到付费才可观看的文章,建议升级终身VIP。全站所有资源任意下免费看”。本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip,zip、rar解压,建议下载WinRAR

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索