Advertisement
Guest User

bot.py

a guest
Aug 15th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.83 KB | None | 0 0
  1. from selenium import webdriver;
  2. from random import randint;
  3. import hashlib;
  4. import time;
  5. import codecs;
  6.  
  7. browser1 = None;
  8. browser2 = None;
  9.  
  10. female = [line.rstrip('\n') for line in codecs.open("female.txt", "r", "utf-8")];
  11. male = [line.rstrip('\n') for line in codecs.open("male.txt", "r", "utf-8")];
  12. surname = [line.rstrip('\n') for line in codecs.open("surname.txt", "r", "utf-8")];
  13. proxies = [];
  14.  
  15. action_time = 2;
  16. create_time = 5;
  17. implicit_wait_time = 20;
  18. avg_cooldown_time = 0; #min
  19. avg_cooldown_spread = 0; #min
  20.  
  21. vote_link = "http://www.anker.com/deals/anker_powers_up_competition/v/614892-don-t-let-others-overtake-you";
  22.  
  23.  
  24. def getProxies():
  25. browser3 = webdriver.Firefox();
  26. browser3.get("https://free-proxy-list.net/");
  27. if (len(sys.argv) > 1):
  28. page = sys.argv[1];
  29.  
  30. browser.find_element_by_css_selector('.pagination[data-dt-idx="'+(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://dropmail.me");
  67. browser2.get("http://www.anker.com/register?back=%2Fdeals%2Fanker_powers_up_competition");
  68.  
  69. #get email address
  70. email = browser1.find_element_by_css_selector('h2 span.email');
  71. email = email.text;
  72. print 'Created email: ' + email;
  73.  
  74. #create account
  75. username = browser2.find_element_by_css_selector('input[name="email"]');
  76. password = browser2.find_element_by_css_selector('input[name="password"]');
  77. time.sleep(action_time);
  78. username.send_keys(email);
  79. password_text = hashlib.sha224(email).hexdigest()[:12];
  80. time.sleep(action_time);
  81. password.send_keys(password_text);
  82. time.sleep(create_time);
  83.  
  84. while 1:
  85. browser2.find_element_by_css_selector('.submit').click();
  86. time.sleep(create_time);
  87. curr_url = browser2.current_url;
  88. if "activation" in curr_url:
  89. break;
  90.  
  91. print 'Account created: ', email, '/', password_text;
  92. email_list = open("logs2.txt", "a");
  93. email_list.write(email+'|'+password_text+'|'+proxy[0]+'|'+proxy[1]+'\n');
  94. email_list.close();
  95. browser2.close();
  96.  
  97. #verify account
  98. time.sleep(create_time);
  99. confirm_link = browser1.find_element_by_partial_link_text('https://www.anker.com/');
  100. browser1.get(confirm_link.get_attribute("href"));
  101. gender = randint(0, 1);
  102. last_name = surname[randint(0, len(surname)-1)];
  103.  
  104. if gender == 0:
  105. first_name = female[randint(0, len(female)-1)];
  106. browser1.find_element_by_css_selector('select[name="gender"] option[value="female"]').click();
  107. else:
  108. first_name = male[randint(0, len(male)-1)];
  109. browser1.find_element_by_css_selector('select[name="gender"] option[value="male"]').click();
  110.  
  111. time.sleep(action_time);
  112. nick_name = browser1.find_element_by_css_selector('input[name="nick_name"]');
  113. nick_name.send_keys(first_name.capitalize() + ' ' + last_name.capitalize());
  114. time.sleep(action_time);
  115.  
  116. time.sleep(action_time);
  117. browser1.find_element_by_css_selector('button.submit').click();
  118. print 'Account validated';
  119.  
  120. #cast vote
  121. browser1.get(vote_link);
  122. browser1.find_element_by_css_selector('b.vote').click();
  123. i += 1;
  124. print 'Voted ', i;
  125.  
  126. cooldown = 0;
  127. print 'Cooldown: ' + str(cooldown) + 's';
  128.  
  129. browser1.close();
  130. time.sleep(cooldown);
  131. except Exception:
  132. i += 1;
  133. browser1.close();
  134. browser2.close();
  135. pass;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement