Advertisement
Guest User

bot.py

a guest
Aug 15th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.91 KB | None | 0 0
  1. from selenium import webdriver;
  2. from random import randint;
  3. import hashlib;
  4. import time;
  5. import codecs;
  6. import sys;
  7.  
  8. browser1 = None;
  9. browser2 = None;
  10.  
  11. proxies = [];
  12.  
  13. action_time = 2;
  14. create_time = 5;
  15. implicit_wait_time = 20;
  16. avg_cooldown_time = 0; #min
  17. avg_cooldown_spread = 0; #min
  18.  
  19. vote_link = "http://www.anker.com/deals/anker_powers_up_competition/v/614892-don-t-let-others-overtake-you";
  20.  
  21.  
  22. def getProxies():
  23. browser = webdriver.Firefox();
  24. browser.get("https://free-proxy-list.net/");
  25. if (len(sys.argv) > 1):
  26. page = sys.argv[1];
  27. browser.find_element_by_css_selector('.pagination a[data-dt-idx="'+str(int(page)+1)+'"]').click();
  28. ips = browser.find_elements_by_css_selector('#proxylisttable tr td:nth-child(1)');
  29. ports = browser.find_elements_by_css_selector('#proxylisttable tr td:nth-child(2)');
  30. i = 0;
  31. proxies = [];
  32. while i < len(ips):
  33. proxies.append(ips[i].text+'|'+ports[i].text);
  34. i += 1;
  35. browser.close();
  36. return proxies;
  37.  
  38. proxies = getProxies();
  39. i = 0;
  40.  
  41. while 1:
  42. try:
  43. print '====================================================';
  44. if i > len(proxies):
  45. proxies = getProxies();
  46. i = 0;
  47.  
  48.  
  49. #proxy setup
  50. proxy_string = proxies[i];
  51. proxy = proxy_string.split('|');
  52. profile = webdriver.FirefoxProfile() ;
  53. profile.set_preference("network.proxy.type", 1);
  54. profile.set_preference("network.proxy.http", proxy[0]);
  55. profile.set_preference("network.proxy.http_port", int(proxy[1]));
  56. profile.update_preferences();
  57. print 'Using proxy: ' + proxy[0] + ':' + proxy[1];
  58.  
  59. browser = webdriver.Firefox(firefox_profile=profile);
  60.  
  61. browser.implicitly_wait(implicit_wait_time);
  62. browser.get("https://temp-mail.org/en/");
  63. browser.find_element_by_css_selector('#click-to-delete').click();
  64.  
  65.  
  66. #get email address
  67. email = browser.find_element_by_css_selector('#mail');
  68. email = email.get_attribute('value');
  69. print 'Created email: ' + email;
  70.  
  71. #create account
  72. browser.get("http://www.anker.com/register?back=%2Fdeals%2Fanker_powers_up_competition");
  73. username = browser.find_element_by_css_selector('input[name="email"]');
  74. password = browser.find_element_by_css_selector('input[name="password"]');
  75. time.sleep(action_time);
  76. username.send_keys(email);
  77. password_text = hashlib.sha224(email).hexdigest()[:12];
  78. time.sleep(action_time);
  79. password.send_keys(password_text);
  80. time.sleep(create_time);
  81.  
  82. while 1:
  83. browser.find_element_by_css_selector('.submit').click();
  84. time.sleep(create_time);
  85. curr_url = browser.current_url;
  86. if "activation" in curr_url:
  87. break;
  88.  
  89. print 'Account created: ', email, '/', password_text;
  90. email_list = open("logs2.txt", "a");
  91. email_list.write(email+'|'+password_text+'|'+proxy[0]+'|'+proxy[1]+'\n');
  92. email_list.close();
  93.  
  94. #verify account
  95. browser.get("https://temp-mail.org/en/");
  96. browser.find_element_by_css_selector('#mails tbody a').click();
  97. time.sleep(action_time);
  98. confirm_link = browser.find_element_by_partial_link_text('https://www.anker.com/');
  99. browser.get(confirm_link.get_attribute("href"));
  100.  
  101. time.sleep(action_time);
  102. browser.find_element_by_css_selector('button.submit').click();
  103. print 'Account validated';
  104.  
  105. #cast vote
  106. browser.get(vote_link);
  107. browser.find_element_by_css_selector('b.vote').click();
  108. i += 1;
  109. print 'Voted ', i;
  110.  
  111. browser.close();
  112. except Exception:
  113. i += 1;
  114. try:
  115. browser.close();
  116. except:
  117. pass;
  118. pass;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement