全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 991|回复: 3
打印 上一主题 下一主题

发现一个不错的python脚本,就是运行有点麻烦

[复制链接]
跳转到指定楼层
1#
发表于 2020-1-29 23:23:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
没折腾明白

https://www.52pojie.cn/thread-996573-1-1.html

  1. # coding = utf-8
  2. # 以下代码仅供参考讨论,请勿用作其它非法用途
  3. # www.52pojie.cn

  4. # python 3.7
  5. # @Author:iknew

  6. from bs4 import BeautifulSoup as bs
  7. from selenium import webdriver
  8. from selenium.webdriver.chrome.options import Options
  9. import selenium
  10. import time
  11. import csv
  12. import random
  13. from mock_useragent import UserAgent

  14. ‘’‘1. 设置临时邮箱
  15. 2. 填写注册信息
  16. 3. 等待验证
  17. 4. 填写验证码
  18. 5. 完成注册
  19. ’‘’

  20. def sign_up(name,pwd):
  21.     global element
  22.     email = name + '@t.odmail.cn'

  23.     url = 'https://t.odmail.cn/'
  24.     code = ''
  25.     browser.get(url)
  26.     time.sleep(3)
  27.     try:
  28.         browser.implicitly_wait(15)
  29.         element = browser.find_element_by_id('customShortid')
  30.     except selenium.common.exceptions.NoSuchElementException:
  31.         print('网页加载不出来')
  32.         sign_up(name,pwd)
  33.     element.click()
  34.     browser.implicitly_wait(5)
  35.     browser.find_element_by_id('shortid').send_keys(name)
  36.     browser.implicitly_wait(5)
  37.     element.click()
  38.     print('email set up ...')
  39.     # browser.execute_script(js)
  40.     js = 'window.open("https://signup.microsoft.com/signup/index?sku=faculty");'
  41.     browser.execute_script(js)
  42.     windows = browser.window_handles
  43.     browser.switch_to.window(windows[1])
  44.     browser.implicitly_wait(30)
  45.     browser.find_element_by_id("StepsData_Email").send_keys(email)
  46.     browser.implicitly_wait(2)
  47.     browser.find_element_by_class_name('mpl-button-box-text').click()
  48.     browser.switch_to.window(windows[0])
  49.     print('waiting for verification code ...')

  50.     while code == '':
  51.         time.sleep(3)
  52.         browser.find_element_by_id('maillist')
  53.         r = browser.find_element_by_id('maillist').text
  54.         code = r[49:55]
  55.     print('Got the verification code:{}\n'.format(code))
  56.     browser.implicitly_wait(10)
  57.     #切换窗口到注册页面填写信息、验证码:
  58.     browser.switch_to.window(windows[1])
  59.     browser.implicitly_wait(20)
  60.     try:   
  61.         element = browser.find_element_by_class_name('last-name')
  62.         element.send_keys('o')
  63.     except selenium.common.exceptions.ElementNotInteractableException: browser.quit()
  64.     browser.implicitly_wait(5)
  65.     browser.find_element_by_class_name('first-name').send_keys('o')
  66.     browser.implicitly_wait(5)
  67.     browser.find_element_by_id('Password').send_keys(pwd)
  68.     browser.implicitly_wait(5)
  69.     browser.find_element_by_id('RePassword').send_keys(pwd)
  70.     browser.implicitly_wait(5)
  71.     browser.find_element_by_id('SignupCode').send_keys(code)
  72.     browser.implicitly_wait(10)
  73.     browser.find_element_by_class_name('mpl-button-box-text').click()
  74.     print('注册的账号密码:{0},{1},  验证码:{2}\n'.format(email,pwd,code))
  75.     try:   
  76.         browser.implicitly_wait(20)
  77.         element = browser.find_element_by_class_name('ms-fcl-tp')
  78.         element.click()
  79.     except selenium.common.exceptions.StaleElementReferenceException:
  80.         browser.refresh()
  81.     return [email,pwd]

  82. ’‘’1. 注册名称设置2. selenium参数设置
  83. 3. 调用sign_up()
  84. 4. 注册后的账号密码写入文件
  85. '''
  86. def main():
  87.     global browser
  88.     n = 0
  89.     for i in range(1,1000):  #   设置注册ID范围,程序中断需要手动修改起始位置...        
  90.         name = '这里填你想要的名称'+str(i)  
  91.         pwd = 'One.'+str(random.randint(1000,9990))

  92.         t = time.time()
  93.         agent = UserAgent.random_chrome
  94.         options = Options()
  95.         options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"])#避免一些无关紧要的报错
  96.         options.add_argument('--user-agent={}'.format(agent))
  97.         options.add_argument('--ignore-certificate-errors')
  98.         options.add_argument('--ignore-ssl-errors')
  99.         options.add_argument('--start-maximized')   #窗口最大化,感觉不太需要
  100.         options.add_argument('--window-size=1920,1080')#设置窗口大小
  101.         options.add_argument('--headless')          # 后台运行,可注释掉查看自动注册流程
  102.         browser = webdriver.Chrome(chrome_options= options)
  103. #调用sign_up函数注册
  104.         user = sign_up(name,pwd)
  105.         f = open('onedrive.csv','a',newline='')
  106.         writer = csv.writer(f)
  107.         f.seek(0,2)
  108.         writer.writerow(user)
  109.         f.close()
  110.         n += 1
  111.         print('Time now:{0}'.format(time.strftime("%Y%m%d %X", time.localtime())))
  112.         print('注册第 "{}"个用时:{:.2f} 秒'.format(n,time.time()-t),end='\n---------------------')
  113.         browser.quit()
  114.         if n % 20 == 0 :
  115.             print('休息10分钟,避免IP被封')
  116.             time.sleep(600)

  117. if __name__ == "__main__":
  118.     main()
复制代码


onedrive.zip (1.87 KB, 下载次数: 17)

推荐
发表于 2020-1-29 23:26:30 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
3#
发表于 2020-1-29 23:34:32 | 只看该作者
粗略看了一下,就是用临时邮箱批量注册onedrive,如果临时邮箱是自己的还好,如果是别人的,相当于薅羊毛了,很容易薅死羊的
4#
发表于 2020-1-30 09:27:25 来自手机 | 只看该作者
人均管理员,这玩意没用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-1-13 19:44 , Processed in 0.068924 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表