Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Социальные сети (https://forum.antichat.xyz/forumdisplay.php?f=133)
-   -   Сортировщик акков (https://forum.antichat.xyz/showthread.php?t=102922)

Xtezy 24.01.2009 22:13

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

e-mail;pass

Описание:

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

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


Ссылка:xtezy_4eker_1.0
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

Цитата:

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

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

Xtezy 24.01.2009 23:20

Цитата:

Сообщение от *DeViL*
буду очень признателен... а может ли твоя прога если акки в кучу свалены, выдрать и распределить по строчкам?

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

*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

хорошая прога. ещё бы включить в неё удаление повторов и цены бы ей не было)


Время: 04:38