Advertisement
Guest User

bot.py

a guest
Aug 16th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.00 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. #browser.quit();
  44. return proxies;
  45.  
  46. if len(sys.argv) > 2:
  47. proxies = getProxiesFile();
  48. else:
  49. proxies = getProxies();
  50.  
  51. i = 0;
  52. n_votes = 0;
  53.  
  54. while 1:
  55. try:
  56. print '====================================================';
  57. if i > len(proxies):
  58. if len(sys.argv) > 2:
  59. print '\n\nGive me more proxies\n';
  60. break;
  61. else:
  62. proxies = getProxies();
  63. i = 0;
  64.  
  65.  
  66. #proxy setup
  67. proxy_string = proxies[i];
  68. proxy = proxy_string.split(':');
  69. profile = webdriver.FirefoxProfile() ;
  70. profile.set_preference("network.proxy.type", 1);
  71. profile.set_preference("network.proxy.http", proxy[0]);
  72. profile.set_preference("network.proxy.http_port", int(proxy[1]));
  73. #profile.set_preference('permissions.default.stylesheet', 2);
  74. #profile.set_preference('permissions.default.image', 2);
  75. #profile.set_preference('dom.ipc.plugins.enabled.libflashplayer.so', 'false');
  76. profile.update_preferences();
  77. print 'Using proxy: ' + proxy[0] + ':' + proxy[1];
  78.  
  79. browser = webdriver.Firefox(firefox_profile=profile);
  80.  
  81. browser.implicitly_wait(implicit_wait_time);
  82. browser.set_page_load_timeout(page_load_time);
  83. browser.get("https://temp-mail.org/en/");
  84. browser.find_element_by_css_selector('#click-to-delete').click();
  85.  
  86.  
  87. #get email address
  88. email = browser.find_element_by_css_selector('#mail');
  89. email = email.get_attribute('value');
  90. print 'Created email: ' + email;
  91.  
  92. #create account
  93. browser.get("https://www.anker.com/register?back=%2Fdeals%2Fanker_powers_up_competition");
  94. username = browser.find_element_by_css_selector('input[name="email"]');
  95. password = browser.find_element_by_css_selector('input[name="password"]');
  96. time.sleep(action_time);
  97. username.send_keys(email);
  98. password_text = hashlib.sha224(email).hexdigest()[:12];
  99. time.sleep(action_time);
  100. password.send_keys(password_text);
  101. time.sleep(create_time);
  102.  
  103. while 1:
  104. browser.find_element_by_css_selector('.submit').click();
  105. time.sleep(create_time);
  106. curr_url = browser.current_url;
  107. if "activation" in curr_url:
  108. break;
  109.  
  110. time.sleep(action_time);
  111. browser.find_element_by_css_selector('.submit').click();
  112. print 'Account created: ', email, '/', password_text;
  113.  
  114. #verify account
  115. browser.get("https://temp-mail.org/en/");
  116. browser.find_element_by_css_selector('#mails tbody a').click();
  117. time.sleep(create_time*2);
  118. confirm_link = browser.find_element_by_partial_link_text('https://www.anker.com/');
  119. browser.get(confirm_link.get_attribute("href"));
  120.  
  121. time.sleep(action_time);
  122. browser.find_element_by_css_selector('button.submit').click();
  123. print 'Account validated';
  124.  
  125. #cast vote
  126. time.sleep(action_time);
  127. browser.get(vote_link);
  128. time.sleep(action_time);
  129. browser.find_element_by_css_selector('b.vote').click();
  130. i += 1;
  131. n_votes += 1;
  132. print 'Voted ', n_votes;
  133. proxy_list = open("logs.txt", "a");
  134. proxy_list.write(proxy[0]+'\n');
  135. proxy_list.close();
  136.  
  137. browser.close();
  138. #browser.quit();
  139. except Exception:
  140. i += 1;
  141. try:
  142. browser.close();
  143. #browser.quit();
  144. except:
  145. pass;
  146. pass;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement