Advertisement
Guest User

bot.py

a guest
Aug 15th, 2017
640
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.94 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.quit();
  39. return proxies;
  40.  
  41. proxies = getProxies();
  42. i = 0;
  43.  
  44. while 1:
  45. try:
  46. j=randint(0,len(proxies));
  47. print '====================================================';
  48. if i > 10:
  49. proxies = getProxies();
  50. i=0;
  51.  
  52. #proxy setup
  53. proxy_string = proxies[j];
  54. proxy = proxy_string.split('|');
  55. profile = webdriver.FirefoxProfile() ;
  56. profile.set_preference("network.proxy.type", 1);
  57. profile.set_preference("network.proxy.http", proxy[0]);
  58. profile.set_preference("network.proxy.http_port", int(proxy[1]));
  59. profile.update_preferences();
  60. print 'Using proxy: ' + proxy[0] + ':' + proxy[1];
  61.  
  62. browser1 = webdriver.Firefox(firefox_profile=profile);
  63. browser2 = webdriver.Firefox(firefox_profile=profile);
  64.  
  65. browser1.implicitly_wait(implicit_wait_time);
  66. browser2.implicitly_wait(implicit_wait_time);
  67. browser1.get("https://temp-mail.org/en/");
  68. browser1.find_element_by_css_selector('#click-to-delete').click();
  69. browser2.get("http://www.anker.com/register?back=%2Fdeals%2Fanker_powers_up_competition");
  70.  
  71. #get email address
  72. email = browser1.find_element_by_css_selector('#mail');
  73. email = email.get_attribute('value');
  74. print 'Created email: ' + email;
  75.  
  76. #create account
  77. username = browser2.find_element_by_css_selector('input[name="email"]');
  78. password = browser2.find_element_by_css_selector('input[name="password"]');
  79. time.sleep(action_time);
  80. username.send_keys(email);
  81. password_text = hashlib.sha224(email).hexdigest()[:12];
  82. time.sleep(action_time);
  83. password.send_keys(password_text);
  84. time.sleep(create_time);
  85.  
  86. while 1:
  87. browser2.find_element_by_css_selector('.submit').click();
  88. time.sleep(create_time);
  89. curr_url = browser2.current_url;
  90. if "activation" in curr_url:
  91. break;
  92.  
  93. print 'Account created: ', email, '/', password_text;
  94. email_list = open("logs2.txt", "a");
  95. email_list.write(email+'|'+password_text+'|'+proxy[0]+'|'+proxy[1]+'\n');
  96. email_list.quit();
  97. browser2.quit();
  98.  
  99. #verify account
  100. time.sleep(create_time);
  101. browser1.find_element_by_css_selector('#mails tbody a').click();
  102. confirm_link = browser1.find_element_by_partial_link_text('https://www.anker.com/');
  103. browser1.get(confirm_link.get_attribute("href"));
  104. gender = randint(0, 1);
  105. last_name = surname[randint(0, len(surname)-1)];
  106.  
  107. if gender == 0:
  108. first_name = female[randint(0, len(female)-1)];
  109. browser1.find_element_by_css_selector('select[name="gender"] option[value="female"]').click();
  110. else:
  111. first_name = male[randint(0, len(male)-1)];
  112. browser1.find_element_by_css_selector('select[name="gender"] option[value="male"]').click();
  113.  
  114. time.sleep(action_time);
  115. nick_name = browser1.find_element_by_css_selector('input[name="nick_name"]');
  116. nick_name.send_keys(first_name.capitalize() + ' ' + last_name.capitalize());
  117. time.sleep(action_time);
  118.  
  119. time.sleep(action_time);
  120. browser1.find_element_by_css_selector('button.submit').click();
  121. print 'Account validated';
  122.  
  123. #cast vote
  124. browser1.get(vote_link);
  125. browser1.find_element_by_css_selector('b.vote').click();
  126. i += 1;
  127. print 'Voted ', i;
  128.  
  129. browser1.quit();
  130. except Exception:
  131. i += 1;
  132. browser1.quit();
  133. browser2.quit();
  134. pass;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement