[Скрипт под Human Emulator] Авторегер ftp на narod.ru

12
V
На сайте с 14.08.2010
Offline
2
#11
А я на Java могу, но просто так писать не буду =)

Тогда вы топиком ошиблись, мы тут хвастаемся как клёво можем yandex-майлы регать и обязательно код показываем :o)

Пишу скрипты на PHP, python, ruby (/ru/forum/531834)
N
На сайте с 26.10.2009
Offline
152
#12
verdegal:
Пожалуйста. Правда по FTP яндекс меня не пущает, я не знаю почему. Мне неинтересно выяснять т.к. эту байду я just for fun писал :)



# -*- coding: utf-8 -*-
from grab import Grab
import logging
import re
import time
from ftplib import FTP

from tools import account
from tools.captcha.antigate import solve_captcha
import settings

def main():
acc = {}
g = Grab()
g.setup(log_dir='dumps', log_file='dumps/log.html')
g.request(url='http://narod.yandex.ru/')
g.follow_link(u'Создайте свой сайт')
g.follow_link(u'Зарегистрироваться')
g.set_input('iname', account.random_ru_fname())
g.set_input('fname', account.random_ru_lname())
acc['login'] = account.random_login()
g.set_input('login', acc['login'])
while True:
g.submit()
if g.search_rex('логин.*?уже.*?занят', re.S):
acc['login'] = account.random_login()
g.set_input('login', acc['login'])
else:
break

password = account.random_password()
acc['password'] = password
g.set_input('passwd', password)
g.set_input('passwd2', password)
g.set_input('hintq', '1')
g.set_input('hinta', account.random_ru_lname())

g2 = None
while True:
if g2 is None or g.search(u'неправильно ввели контрольные'):
g2 = g.clone()
g2.request(url=g.xpath('//img[@class="captcha-img"]')[0].get('src'))
solution = solve_captcha(settings.ANTIGATE_KEY, g2.response_body)
g.set_input('code', solution)
g.submit('newform')
if g.search(u'Поздравляем'):
break

time.sleep(5)
g.request(url='http://narod.yandex.ru/disk/narod/')

ftp = FTP('ftp.narod.ru')
ftp.set_debuglevel(2)
ftp.login(acc['login'], acc['password'])
ftp.storbinary('STOR index.html', StringIO('Preved Medved!'))
open('var/narod.txt', 'a').write('ftp.narod.ru;%s;%s\n' % (acc['login'], acc['password']))

logging.debug('Done')

if __name__ == '__main__':
logging.basicConfig(level=logging.DEBUG, format='%(message)s')
main()

Как это вообще использовать?:)

V
На сайте с 14.08.2010
Offline
2
#13

Никак, всё равно у вас нет этих библиотек :)


from grab import Grab
from tools import account
from tools.captcha.antigate import solve_captcha
N
На сайте с 26.10.2009
Offline
152
#14

Ну и смысл тогда?:)

P. S. У меня есть регистратор в .EXE, но он медленный и без заливки данных.

T
На сайте с 13.01.2009
Offline
50
#15

Со своим питоном, не даете начать C# учить))

V
На сайте с 14.08.2010
Offline
2
#16

> Ну и смысл тогда?

Смысл в том, что код в начале топика тоже не будет работать без хуман эмулятора, который небесплатный :)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий