PDA

Просмотр полной версии : Сортировщик акков


Xtezy
24.01.2009, 22:13
Представляю вашему вниманию программу для сортировки аккаунтов имеющих формат:

e-mail;pass

Описание:

Программа берет файл с акками и начинает в нем проверять имейлы на правильность, а именно проверяется:
- наличие символа "@".
- наличие символа точки после символа "@"
- наличие русских символов в адресе

Программа создает файлы:
bad.txt - здесь все попавшие под фильтр акки
rus.txt - для тех кто хочет почитать какой он хороший))) здесь акки с русскими буквами))) даже можно сказать бывают целые предложения)))
good.txt - все акки не попавшие под отсеивание, они то нам и нужны для дальнейшей работы)))
stat.txt - статистика по количеству исходных, хороших, плохих и акков с русскими символами!


Ссылка:xtezy_4eker_1.0 (http://webfile.ru/2580678)
PS: Отзывы по программке сюда!!! от плюсов не откажусь!!!

Xtezy
24.01.2009, 22:28
вот примеры акков из файла:
bad.txt

meil: kristinaprudnikva@rambler/ri
pass: кристя

meil: luvr95@mailru
pass: 2578242

meil: murik-19892mail.ru
pass: 10101989

rus.txt

meil: убейс@обстену.ru
pass: 123456789

meil: veleevri@chelcom.ruпиончик
pass:

meil: иди_на_***@mail.ru
pass: отсоси

stat.txt
Аккаунтов в исходном файле : "all.txt" : 37400
аккаунты с истинными адресами : 36124 , с ложными 1276
из ложных:
1)адрес в неверном формате : 1172
2)адрес содержит русские буквы но имеет верный формат : 104

Xtezy
24.01.2009, 22:31
Если кому понравится прога могу сделать чтоб акки в формате: e-mail(двоеточие)pass : можно было сортировать!!!
тут просто как кому удобнее!
если нужен код, то могу выложить!(код на си++)!

*DeViL*
24.01.2009, 22:55
Если кому понравится прога могу сделать чтоб акки в формате: e-mail(двоеточие)pass : можно было сортировать!!!
тут просто как кому удобнее!
если нужен код, то могу выложить!(код на си++)!
буду очень признателен... а может ли твоя прога если акки в кучу свалены, выдрать и распределить по строчкам?

Xtezy
24.01.2009, 23:20
буду очень признателен... а может ли твоя прога если акки в кучу свалены, выдрать и распределить по строчкам?

в кучу свалены, типа на одной строке по несколько акков?? между ними хотя бы пробелы есть???
пример покажи!!!

*DeViL*
25.01.2009, 00:11
да есть пробел.. просто подряд акки с пробелом вместо энтера)...

*eXe*
25.01.2009, 00:22
Можно сделать парсер с логов?

в логах акки имеют такой вид



UID:DE81DFA1BCBFAD96
Сайт: http://vkontakte.ru/
email=jfbrr@mail.ru
pass=1351991

UID:172F05027D750671
Wand формы
Сайт: http://vkontakte.ru/
email=jfvjrvjk@mail.ru
pass=1234567sss

Сайт: http://vkontakte.ru/login.php
email=jbjgbgj@bk.ru
pass=130891ааа



UID:8FB1E47E02706C0B
Name: http://vkontakte.ru/login.php
Values:
bgbgb@ukr.net
13elgee

Сайт: http://vkontakte.ru/reg0
first_name=Наська
last_name=****
email=nhnhnh@inbox.ru
pass=789456
reg_code=7pdsg
country=2
uni_city=4
other_city_name=Название города
school1=366
school1_type=0
s_class1=3
s_start1=9
s_finish1=3
s_grad1=3
university=0
other_university_name=Название города
other_faculty_name=Название факультета
other_chair_name=Название кафедры

Xtezy
25.01.2009, 00:39
*Devil* и *eXe* , все можно же конечно, напишите мне в аську 312_04_06

Xtezy
25.01.2009, 23:26
Вот собственно код программы:
#include <iostream>
#include <fstream>
#include <stdlib.h>

using namespace std;

//без собаки в bad.txt
//с собакой и английским + русским текстом в rus.txt
//с собакой и только с английским в good.txt


int max_lenght;
int counts_input , counts_good , counts_bad , counts_rus ;


int read_counts(char *f_name)
{
int n=0;
char temp[10000], simb;
ffopen:
ifstream in_file;
in_file.open(f_name);
if (!in_file){
cout<<"File is not found"<<endl;
cout<<"Input correct name the input text file : ";
cin>>f_name;
goto ffopen;
}

while(in_file.get(simb)) {
in_file.getline(temp,10000);
if (strlen(temp) > max_lenght) max_lenght = strlen(temp);
n++;
}
return n;
}

int main()
{
int i , j ;
int good = 0 , bad = 0 , bad1 = 0 , bad2 = 0 ;
int position_separator , position_dog , position_point, lenght_meil ;
char *pointer_separator, *pointer_dog , *pointer_point ;
char f_input_name[100] , **input_pass , **input_meil ;
char temp[10000];


max_lenght=0;

FILE *finput , *fgood , *fbad , *frus , *fstat ;

cout<<"Input name the input text file : ";
cin>>f_input_name;

counts_input = read_counts(f_input_name);

input_pass = new char *[counts_input];
input_meil = new char *[counts_input];

for ( i = 0 ; i < counts_input ; i++ ){
input_pass[i]= new char [max_lenght+1];
input_meil[i]= new char [max_lenght+1];
}

ifstream in_file;
in_file.open(f_input_name);
for ( i = 0 ; i < counts_input ; i++ ){
in_file.getline(temp,10000);
while(!(strchr(temp, ';')))in_file.getline(temp,10000);
pointer_separator = strchr(temp, ';');
position_separator = pointer_separator - temp;
strncpy(input_meil[i] , temp , position_separator);
strcpy(input_meil[i]+ position_separator, "");
strcpy(input_pass[i] , temp + position_separator+1);
}



fstat = fopen ( "stat.txt", "w");
fgood = fopen ( "good.txt", "w");
fbad = fopen ( "bad.txt", "w");
frus = fopen ( "rus.txt", "w");




for( i =0 ; i < counts_input ; i++ ){
lenght_meil = strlen(input_meil[i]);


//------------------------bad.txt
if(!strrchr(input_meil[i] , '@')){
fprintf (fbad , "meil: %s\npass: %s\n\n" , input_meil[i] , input_pass[i]);
bad++;
bad1++;
continue;
}
pointer_dog = strrchr(input_meil[i], '@');
position_dog = pointer_dog - input_meil[i];
pointer_point = strrchr(input_meil[i], '.');
position_point = pointer_point - input_meil[i];

if ( pointer_dog > pointer_point ){
fprintf (fbad , "meil: %s\npass: %s\n\n" , input_meil[i] , input_pass[i]);
bad++;
bad1++;
continue;
}
//--------------------end bad.txt


//------------------------rus.txt
for( j = 0 ; j < lenght_meil ; j++ ){
// ascii = (-64 - -1)||(-88)||(-72)
if (((input_meil[i][j] > -65)&&(input_meil[i][j] < 0))||(input_meil[i][j] == -88)||(input_meil[i][j] == -72)){
fprintf (frus , "meil: %s\npass: %s\n\n",input_meil[i],input_pass[i]);
bad++;
bad2++;
break;
}
}
//--------------------end rus.txt


//-----------------------good.txt
if ( j == lenght_meil ){
fprintf (fgood , "%s;%s\n",input_meil[i],input_pass[i]);
good++;
}
//-------------------end good.txt
}


//-----------------------stat.txt
fprintf (fstat , "Аккаунтов в исходном файле : \"%s\" : %d\n\n" , f_input_name , counts_input);
fprintf (fstat , "аккаунты с истинными адресами : %d , с ложными %d \n", good , bad);
fprintf (fstat , "из ложных:\n 1)адрес в неверном формате : %d \n 2)адрес содержит русские буквы но имеет верный формат : %d \n", bad1 , bad2);

//-------------------end stat.txt


fclose(frus);
fclose(fbad);
fclose(fgood);

return 0;
}
Если кому будет интересно, от плюсов не откажусь!

][eViOr
26.01.2009, 11:47
хорошая прога. ещё бы включить в неё удаление повторов и цены бы ей не было)

Xtezy
26.01.2009, 15:53
[eViOr']хорошая прога. ещё бы включить в неё удаление повторов и цены бы ей не было)

потом позже когда уже написал, пожалел что не сделал. киллер дублером пользуюсь, но он сволочь медленный нафик... может в будущем доделаю!!!

][Ro[M]
28.01.2009, 00:03
сделай пожалуйста через : а не через ; ... а так прога кул спасиб

kraken
28.01.2009, 00:14
Я точно такой же скрипт писал и выкладывал на ачате до НГ

Xtezy
28.01.2009, 16:51
Вот сделал чтоб прога работала с двоеточием в качесте разделителя, вместо точки с запятой!

скачиваем здесь (http://webfile.ru/2592200)

SCH666
01.03.2009, 03:40
перезалей плз =)))

_Spamer_
01.03.2009, 13:24
Перезалейте

Xtezy
01.03.2009, 15:22
Залил, здесь оба варианта:
точка с запятой (http://depositfiles.com/files/dxlsgkswv)
двоеточие (http://depositfiles.com/files/fnbcbyu2h)


А по поводу удаления повторов, используйте вот эту прогу, очень хорошая и простая:
KeyWordKeeper (http://depositfiles.com/files/s4acul9sv)

Мануальчик по программе. Запускаем сначала KeyWordKeeper:
1) Нажимаем элементарная чистка. добавляем файл, нажимаем удалить. очищенный файл помещается в указанную вами папку
2)теперь нажимаем удалить повторы. и добавляем уже очищенный файл.
Все. теперь прогу можно закрывать. Дальше работа с моей софтиной)))

PS: от плюсов не откажусь

_Spamer_
01.03.2009, 15:48
НЕ пашет твоя прога

Xtezy
01.03.2009, 15:56
НЕ пашет твоя прога

Че не пашет? хотя бы проблему описал. название файла на латинице должно быть. примеры из твоего файла кинь.

[FREE]
02.03.2009, 03:58
автор нормалый чел, прога супер)

dimanp
04.03.2009, 01:29
такая проблемка...если например попадается акк в таком формате qwerty@mail.ru:
т.е без пароля, прога его в гуд сует... можна исправить?

*DeViL*
04.03.2009, 14:16
а как ты это исправишь)) ... чекер это исправит))

adiga
05.03.2009, 15:50
попробывал. понравилось, существенно снижается нагрузка на чекера, спасибо +
PS: ожидаю дополнения которое при пустых поролях будет в бед кидать

dimanp
05.03.2009, 16:46
а как ты это исправишь)) ... чекер это исправит))

я никак не исправлю, но может автор проги исправит... может быть можно сделать проверку на наличие символов после ":" ?

Xtezy
07.03.2009, 00:59
Сделаю в эти выходные и праздники раз просите))) ЖДИТЕ

Xtezy
02.11.2009, 14:17
lexs444

вот по твоей просьбе сделал: тутц (http://slil.ru/28152145)
а, просьба была такая:

мне очень нужна одна функция,не мог бы дописать?есть акки вида
Код:
vi4kagorbacheva@mail.ru;привет2212
vi97ka@mail.ru;вгкфвг
сортировщик не записывает их в файл rus.txt,не мог бы ты исправить это?

lexs444
02.11.2009, 14:35
работает,спс)

killer24
25.01.2010, 10:28
перезалей!