Advertisement
Guest User

bot.py

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