Advertisement
Guest User

bot.py

a guest
Aug 16th, 2017
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.24 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 = 30;
  16. page_load_time = 60;
  17. avg_cooldown_time = 0; #min
  18. avg_cooldown_spread = 0; #min
  19.  
  20. #vote_link = "https://www.anker.com/deals/anker_powers_up_competition/v/614892-don-t-let-others-overtake-you";
  21. vote_link = "https://www.anker.com/deals/anker_powers_up_competition/v/619279-no-anker-no-bathroom-banter";
  22. #vote_link = "https://www.anker.com/deals/anker_powers_up_competition/v/617966-don-t-get-lost";
  23.  
  24.  
  25. def getProxiesFile():
  26. proxies = [line.rstrip('\n') for line in open("proxylist.txt")];
  27. return proxies;
  28.  
  29. def getProxies():
  30. browser = webdriver.Firefox();
  31. browser.get("https://free-proxy-list.net/anonymous-proxy.html");
  32. if (len(sys.argv) > 1):
  33. page = sys.argv[1];
  34. browser.find_element_by_css_selector('.pagination a[data-dt-idx="'+str(int(page)+1)+'"]').click();
  35. ips = browser.find_elements_by_css_selector('#proxylisttable tr td:nth-child(1)');
  36. ports = browser.find_elements_by_css_selector('#proxylisttable tr td:nth-child(2)');
  37. i = 0;
  38. proxies = [];
  39. while i < len(ips):
  40. proxies.append(ips[i].text+':'+ports[i].text);
  41. i += 1;
  42. browser.close();
  43. return proxies;
  44.  
  45. if len(sys.argv) > 2:
  46. proxies = getProxiesFile();
  47. else:
  48. proxies = getProxies();
  49.  
  50. i = 0;
  51. n_votes = 0;
  52.  
  53. while 1:
  54. try:
  55. print '====================================================';
  56. if i > len(proxies):
  57. if len(sys.argv) > 2:
  58. print '\n\nGive me more proxies\n';
  59. break;
  60. else:
  61. proxies = getProxies();
  62. i = 0;
  63.  
  64.  
  65. #proxy setup
  66. proxy_string = proxies[i];
  67. proxy = proxy_string.split(':');
  68. profile = webdriver.FirefoxProfile() ;
  69. profile.set_preference("network.proxy.type", 1);
  70. profile.set_preference("network.proxy.http", proxy[0]);
  71. profile.set_preference("network.proxy.http_port", int(proxy[1]));
  72. #profile.set_preference('permissions.default.stylesheet', 2);
  73. #profile.set_preference('permissions.default.image', 2);
  74. #profile.set_preference('dom.ipc.plugins.enabled.libflashplayer.so', 'false');
  75. profile.update_preferences();
  76. print 'Using proxy: ' + proxy[0] + ':' + proxy[1];
  77.  
  78. browser = webdriver.Firefox(firefox_profile=profile);
  79.  
  80. browser.implicitly_wait(implicit_wait_time);
  81. browser.set_page_load_timeout(page_load_time);
  82. browser.get("https://temp-mail.org/en/option/delete/");
  83.  
  84. #get email address
  85. email = browser.find_element_by_css_selector('#mail');
  86. email = email.get_attribute('value');
  87. print 'Created email: ' + email;
  88.  
  89. #create account
  90. browser.get("https://www.anker.com/register?back=%2Fdeals%2Fanker_powers_up_competition");
  91. username = browser.find_element_by_css_selector('input[name="email"]');
  92. password = browser.find_element_by_css_selector('input[name="password"]');
  93. time.sleep(action_time);
  94. username.send_keys(email);
  95. password_text = hashlib.sha224(email).hexdigest()[:12];
  96. time.sleep(action_time);
  97. password.send_keys(password_text);
  98. time.sleep(create_time);
  99.  
  100. while 1:
  101. browser.find_element_by_css_selector('.submit').click();
  102. time.sleep(create_time);
  103. curr_url = browser.current_url;
  104. if "activation" in curr_url:
  105. break;
  106.  
  107. time.sleep(create_time);
  108. print 'Account created: ', email, '/', password_text;
  109.  
  110. #verify account
  111. browser.get("https://temp-mail.org/en");
  112. timeout = 0;
  113. while 1:
  114. try:
  115. browser.find_element_by_css_selector('#mails tbody tr td a').click();
  116. break;
  117. except Exception:
  118. browser.get("https://temp-mail.org/en/option/refresh/");
  119. timeout += 1;
  120. if timeout == 3:
  121. break;
  122. pass;
  123.  
  124. if timeout == 3:
  125. raise Exception;
  126.  
  127. confirm_link = browser.find_element_by_partial_link_text('https://www.anker.com/');
  128. browser.get(confirm_link.get_attribute("href"));
  129.  
  130. time.sleep(action_time);
  131. browser.find_element_by_css_selector('button.submit').click();
  132. print 'Account validated';
  133.  
  134. #cast vote
  135. time.sleep(action_time);
  136. browser.get(vote_link);
  137. time.sleep(action_time);
  138. while 1:
  139. try:
  140. browser.find_element_by_css_selector('b.vote').click();
  141. break;
  142. except Exception:
  143. browser.get(vote_link);
  144. pass;
  145. i += 1;
  146. n_votes += 1;
  147. print 'Voted ', n_votes;
  148. proxy_list = open("logs.txt", "a");
  149. proxy_list.write(proxy[0]+'\n');
  150. proxy_list.close();
  151.  
  152. browser.close();
  153. except Exception:
  154. i += 1;
  155. browser.close();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement