Advertisement
Guest User

astro is gay

a guest
Dec 21st, 2015
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.95 KB | None | 0 0
  1. from string import join
  2. from random import choice, randrange
  3. from urllib import urlencode
  4. from urllib2 import urlopen, Request, HTTPError
  5. from bs4 import BeautifulSoup
  6. from tempmail import TempMail
  7. from time import sleep
  8. from lxml.html import *
  9.  
  10. import threading
  11. import json
  12. import requests
  13.  
  14.  
  15. class Register(threading.Thread):
  16. header = {
  17. "User-Agent": "Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11"
  18. }
  19.  
  20. def __init__(self):
  21. threading.Thread.__init__(self)
  22. self.email = "random"
  23. self.mailbox = TempMail()
  24. self.name = "random"
  25. self.pw = "penguin88"
  26. self.color = randrange(1, 12)
  27.  
  28. def run(self):
  29. self.loadCaptchas()
  30. self.create()
  31.  
  32. def loadCaptchas(self):
  33. self.captchas = {}
  34. self.captchas["watermelon"] = "ARRB8J8KQ9t7AAAAAElFTkSuQmCC"
  35. self.captchas["balloon"] = "wuWB85cW2c5NQAAAABJRU5ErkJggg=="
  36. self.captchas["pizza"] = "XMAAAAASUVORK5CYII="
  37. self.captchas["popcorn"] = "yat7sdCF61QAAAABJRU5ErkJggg=="
  38. self.captchas["igloo"] = "b+T94dZQb+IAAAAASUVORK5CYII="
  39. self.captchas["cheese"] = "B0eBprJbn4wXAAAAAElFTkSuQmCC"
  40.  
  41. def create(self):
  42. self.getRegisterData()
  43.  
  44. if self.name == "random":
  45. self.name = self.genRandomString(8)
  46.  
  47. if self.email == "random":
  48. self.email = self.genRandomString(8) + "@mailzi.ru"
  49.  
  50. print "[{0}] Registering with {1}".format(self.name, self.email)
  51.  
  52. try:
  53. data = {
  54. "anon_token": self.anonToken,
  55. "color": str(self.color),
  56. "name": self.name,
  57. "pass": self.pw,
  58. "pass_show": "1",
  59. "email": self.email,
  60. "terms": "1",
  61. "captcha": str(self.captchaN),
  62. "op":"Create Your Penguin",
  63. "form_build_id": self.formBuildId,
  64. "form_id": "penguin_create_form"
  65. }
  66.  
  67. request = Request("https://secured.clubpenguin.com/penguin/create", urlencode(data), self.header)
  68. response = urlopen(request)
  69.  
  70. htmlData = response.read()
  71. soup = BeautifulSoup(htmlData, "html.parser")
  72.  
  73. setCookieResponse = response.info().getheader("Set-Cookie")
  74. response.close()
  75.  
  76. if setCookieResponse != None:
  77. print "[{0}] Registration successful".format(self.name)
  78.  
  79. except HTTPError, err:
  80. if err.code == 403:
  81. print "[{0}] Registration successful".format(self.name)
  82. else:
  83. raise
  84. finally:
  85. f = open("accounts.txt")
  86. f.write(self.name + ":" + self.pw)
  87. f.close()
  88.  
  89. def getRegisterData(self):
  90. request = Request("https://secured.clubpenguin.com/penguin/create", headers=self.header)
  91. response = urlopen(request)
  92.  
  93. cookie = response.info().getheader("Set-Cookie")
  94. htmlData = response.read()
  95.  
  96. response.close()
  97.  
  98. soup = BeautifulSoup(htmlData, "html.parser")
  99.  
  100. itemName = self.findBetween(htmlData, "item_name\":\"", "\",");
  101. image1 = self.findBetween(htmlData, "\"images\":{\"1\":\"", "\",");
  102. image1 = image1.rsplit('/',1)[-1]
  103.  
  104. image2 = self.findBetween(htmlData, image1 + "\",\"2\":\"", "\",");
  105. image2 = image2.rsplit('/',1)[-1]
  106.  
  107. image3 = self.findBetween(htmlData, image2 + "\",\"3\":\"", "\"");
  108. image3 = image3.rsplit('/',1)[-1]
  109.  
  110. itemImage = self.captchas[itemName]
  111. if(image1 == itemImage):
  112. self.captchaN = 0
  113. elif(image2 == itemImage):
  114. self.captchaN = 1
  115. elif(image3 == itemImage):
  116. self.captchaN = 2
  117.  
  118. self.anonToken = soup.find("input", {"name": "anon_token"})["value"]
  119. self.formBuildId = soup.find("input", {"name": "form_build_id"})["value"]
  120.  
  121. randomString = self.genRandomString()
  122. self.header["Cookie"] = "{0} playspanTRANSID=arthur-{1}; cpBROWSERID=vortexal-{1};".format(cookie, randomString)
  123. self.header["Origin"] = "https://secured.clubpenguin.com"
  124. self.header["Referer"] = "https://secured.clubpenguin.com/penguin/create"
  125.  
  126.  
  127.  
  128. def findBetween(self, s, first, last):
  129. try:
  130. start = s.index(first) + len(first)
  131. end = s.index(last, start)
  132. return s[start:end]
  133. except ValueError:
  134. return ""
  135.  
  136. def safeFind(self, str, value):
  137. try:
  138. jsonObj = json.loads(str)
  139. return jsonObj[value]
  140. except ValueError, e:
  141. return False
  142. return False
  143.  
  144. def genRandomString(self, length=8):
  145. return join((choice("qwertyuiopasdfghjklzxcvbnm") for _ in range(length)), "")
  146.  
  147. amt = raw_input("Enter amount of penguins to create: ")
  148.  
  149. for num in range(int(amt)):
  150. thread = Register()
  151. thread.start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement