Skip to content

Instantly share code, notes, and snippets.

@dorukcan
Created September 19, 2015 10:44
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save dorukcan/0a55f925f898d2cb26be to your computer and use it in GitHub Desktop.
Save dorukcan/0a55f925f898d2cb26be to your computer and use it in GitHub Desktop.
twitter account creator
#-*- coding: utf-8 -*-
import urllib, urllib2, cookielib, re
import random, string, json
def create():
#request değişkenlerinin ilklendirilmesi
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
#giriş için gerekli ek değişkenler
hiddenToken = ''
signup_ui_metrics = ''
fullname = getFullName()
email = getMail(opener)
password = getPassword()
screen_name = getScreenName(opener, email)
cookie_checkbox = '1'
cookie_setting = '1'
ad_ref = ''
#hiddenToken'ı almak için sayfaya request yollamalı
resp = opener.open('https://twitter.com/signup').read()
hiddenToken = re.search('<input type="hidden" value="(.*?)" name="authenticity_token">', resp).group(1)
#hiddenToken'ı aldıktan sonra asıl girişi yapabiliriz
login_data = urllib.urlencode({'authenticity_token': hiddenToken,
'signup_ui_metrics': signup_ui_metrics,
'user[name]': fullname,
'user[email]': email,
'user[user_password]': password,
'user[screen_name]': screen_name,
'user[use_cookie_personalization]': cookie_checkbox,
'asked_cookie_personalization_setting': cookie_setting,
'ad_ref': ad_ref})
opener.open('https://twitter.com/account/create', login_data)
print 'username: ' + screen_name
print 'password: ' + password
print 'email : ' + email
return opener
def getMail(opener):
opener.addheaders = [('X-Requested-With', 'XMLHttpRequest')]
status = False
address = ''
while status == False:
first = ''
for i in range(0, 7):
first += random.choice(string.ascii_lowercase)
address = first + '@gmail.com'
resp = opener.open('https://twitter.com/users/email_available?email=' + address.replace('@', '%40')).read()
d = json.loads(resp)
if d['valid'] == True:
status = True
return address
def getFullName():
return random.choice(string.ascii_lowercase) + random.choice(string.ascii_lowercase) + random.choice(string.ascii_lowercase) + ' ' + random.choice(string.ascii_lowercase) + random.choice(string.ascii_lowercase)
def getScreenName(opener, email):
opener.addheaders = [('X-Requested-With', 'XMLHttpRequest')]
resp = opener.open('https://twitter.com/users/username_available?context=signup&custom=0&email=' + email.replace('@', '%40') + '&full_name=&suggest=1&suggest_on_username=false&username=').read()
d = json.loads(resp)
return d['suggestions'][0]['suggestion']
def getPassword():
return random.randint(123457, 999998)
if __name__ == '__main__':
opener = create()
//then do something with "opener" variable
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment