Сообщество разработчиков скриптов Human Emulator

Сообщество разработчиков скриптов Human Emulator

Разработка скриптов на заказ. Полезные материалы и примеры шаблонов Human Emulator.

  • Главная
  • Статьи
  • Скрипты
    • Автоматизация социальных сетей
    • Сборщики, парсеры, грабберы
    • Работа с сайтами
    • Доски объявлений
    • Работа с почтой
    • Эмуляция действий пользователя
    • Разное
  • Видео
  • Школа
  • Услуги
  • Сотрудничество
  • Форум
  • Контакты

Archives

Home исходники C# парсер email адресов с сайта

C# исходники программы Сборщик email адресов

Программа Сборщик email адресов это первый наш программный продукт написанный с использованием C# Human Emulator API. Посмотреть описание и скачать инсталятор программы программы можно в этой статье >>.

Описание проекта.

Проект EmailParser написан в Microsoft Visual Studio 2010. Под эту же студию адаптирована и библиотека XHE.dll. Про то как подключать XHE.dll к проекту мы уже писали в статье Скрипты на C# в Human Emulator.

Структура проекта.

Класс MainWnd — главное окно программы. В этом классе прописаны реализация пользовательского интерфейса. Настройки сбора. Запуск/Остановка сбора. Отображение результатов в табличном виде. Сохранение результатов в файл.
Класс Script : XHEScript — класс, в котором прописан весь функционал по работе с Human Emulator. Этот класс унаследован от класса XHEScript из библиотеки XHE.dll.
Класс ThreadTask : BackgroundWorker — класс, который запускает сбор Email адресов в отдельном потоке. Таким образом не блокируется доступ пользователя к главному окну программы.

Пример кода из проекта.

Функция OnDoWork(DoWorkEventArgs e) запускает сбор в отдельном потоке

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
  protected override void OnDoWork(DoWorkEventArgs e)
        {
            // начальный порт
            int m_iPort = 7010;
            int i=0;
            int iPercent = 0;
 
            ReportProgress(iPercent, "Начинаем сбор...");
            // пройдёмся по всем ключам
            foreach (string sKey in m_sKey)
            {
                // создаём объект класса скрипт
                Script m_Scripts = new Script(mainWnd);
                // логи
                Program.SetLog("Запускаем Human Emulator на порту " + m_iPort.ToString());
                // запускаем Human Emulator на любом свободном порту начиная с 7010
                m_Scripts.RunHuman(ref m_iPort);
                // назовём поток по порту на котором он работает
                //Thread.CurrentThread.Name = m_iPort.ToString();
                // пауза а заодно и проверка на оставноку потока
                if (PauseAndCheck(3, e, m_Scripts, m_iPort))
                    return;
                // логи
                Program.SetLog("Запустили Human Emulator на порту " + m_iPort.ToString());
                // инициализация объектов Хумана для заданного порта
                m_Scripts.InitXHE(m_iPort);
                // пауза а заодно и проверка на оставноку потока
                if (PauseAndCheck(2, e, m_Scripts, m_iPort))
                    return;
                // задать настроки браузера
                m_Scripts.SetBrowserSettings();
                // пауза а заодно и проверка на оставноку потока
                if (PauseAndCheck(2, e, m_Scripts, m_iPort))
                    return;
                Program.SetLog("Ищем email адреса по ключу: " + sKey.Trim());//+ ". Выполнено " + iPercent.ToString() + "% ");
                //lbCurProg.Text = "Ищем email адреса по ключу: " + lines[i].Trim() + ". Выполнено " + iPercent.ToString() + "% ";
                // запускаем поиск по фразе
                m_Scripts.NavigateSE(sKey, "http://www.google.ru");
                // пауза а заодно и проверка на оставноку потока
                if (PauseAndCheck(2, e, m_Scripts, m_iPort))
                    return;
                // текущая страница поисковой выдачи
                int iCrntPage = 1;
                // глубина переходов в поисковую выдачу
                int iLastPage = Properties.Settings.Default.iPagesCnt;
                // разбор поисковой выдачи
                while (true)
                {
                    List<string> arrGooglesrp = m_Scripts.GetGoogleSerp(iCrntPage);
                    // System.Windows.Forms.Application.DoEvents();
                    // проверяем получили ли выдачу
                    if (arrGooglesrp == null)
                    {
                        Program.SetLog("Не смогли получить выдачу для страницы " + iCrntPage.ToString());
                    }
                    else
                    {
                        Program.SetLog("Вызываем ParseEmail...");
                        // ищем все email адреса на сайте из выдачи
                        m_Scripts.ParseEmail(arrGooglesrp, mainWnd.arrEmails);
                    }
 
                    // пауза а заодно и проверка на оставноку потока
                    if (PauseAndCheck(3, e, m_Scripts, m_iPort))
                        return;
 
                    // выходим из цикла как только не смогли перейти на следующую страницу
                    if (!m_Scripts.NextPage(ref iCrntPage, iLastPage))
                        break;
                }
 
                // чистим всё и выходим
                //m_Scripts.ClearAndRestart();
                m_Scripts.CloseHuman();
                m_iPort++;
 
                try
                {
                    // удалим папку с портом
                    if (Directory.Exists(Properties.Settings.Default.sHumanPath + "\\" + m_iPort.ToString()))
                        Directory.Delete(Properties.Settings.Default.sHumanPath + "\\" + m_iPort.ToString(), true);
 
                }
                catch
                {
                    Program.SetLog("Ошибка при удалении папки с портом " + Properties.Settings.Default.sHumanPath + "\\" + m_iPort.ToString() + "!");
                }
 
                
                // вычисляем процент собранного
                double dVal = Convert.ToDouble(i + 1) / Convert.ToDouble(m_sKey.Length) * 100;
                iPercent = Convert.ToInt16(dVal);
 
                ReportProgress(iPercent, "Идёт сбор...");
 
                i++;
            }
 
            Program.SetLog("Сбор закончен!");
 
            ReportProgress(100, "Готово!");
 
            return;
        }

Как мы видим код хорошо прокомментарен и будет понятен любому кто знаком с языком C#. Логика работы сбора очень проста.
Получив список ключевых фраз из главного окна программы мы, используя функционал прописанный в классе Script, выполняем в этой функции все необходимые действия для сбора email адресов через Human Emulator. При этом после каждой фразы мы перезапускаем Human Emulator для очистки памяти и затем снова запускаем для следующей фразы, пока не выполним сбор для всего списка фраз. Данный функционал подготовлен для работы во многотопточном режиме. Для этого, на наш взгляд, нужно будет просто разбивать сбор и запускать каждую фразу в своём окне.
Но для стабильности работы ограничится 5-тью потоками. На момент написания программы XHE.dll не была адаптирована к запуску во многотопочном режиме, но уже сейчас такая возможность в C# Human Emulator API уже добавлена.
Из наших наблюдений можем отметить тот факт, что при использовании C# Human Emulator API все действия в Human Emulator выполняются намного быстрее,
чем при работе аналогичных функций в PHP.

Скачать исходники программы

Скачать исходники программы для VS 2015

Смотреть описание программы

Страницы

  • Автоматизация социальных сетей
  • Видео
  • Главная
  • Контакты
  • Полезное
  • Политика конфиденциальности
  • Программы
  • Скрипты
    • Доски объявлений
    • Работа с почтой
    • Работа с сайтами
    • Разное
    • Сборщики, парсеры, грабберы
    • Эмуляция действий пользователя
  • Сотрудничество
  • Статьи
  • Услуги
  • Часто задаваемые вопросы
  • Школа

Разделы:

  • видео
  • доски объявлений
  • программы
  • работа с почтой
  • работа с сайтами
  • разное
  • сборщики, парсеры, грабберы
  • скрипты
  • социальные сети
  • статьи
  • эмуляция действий пользователя

Свежие записи

  • Авторизация в социальной сети ВКонтакте с помощью Human Emulator
  • C# исходники программы Сборщик email адресов
  • Программа Сборщик email адресов
  • Скрипт Human Emulator парсинга HTML-страницы с использованием XPath
  • Что такое скрипт

Свежие комментарии

  • ZLOYTORT к записи Регистрация сайта в поисковых системах
  • Constantine Anonimaus к записи Скрипт Human Emulator сборщик WordPress сайтов
  • сергей к записи Автоматическое размещение объявлений
  • сергей к записи Скрипт Human Emulator размещения объявления на доске Slando
  • Вася -потенциальный покупатель HuEm к записи Как написать простой скрипт автозаполнения веб форм на Human Emulator

Метки

get quotes market.yandex в MySql parse quotes php парсер яндекс seo userator xhe mouse keyboard xhe user автоматизация вконтакте автоматизация работы с досками объявлений автоматизация социальных сетей автоматическая подача объявлений на доски автоматическая публикация вконтакте автоматически поставить лайк автоматическое наполнение контентом wordpress автонаполнение сайта контентом авторегистрация грабберы котировки с yahoo наполнение сайта контентом наполнение сайтов описание интерфейса Human Emulator парсер php скрипт парсер yandex.ru парсер выдачи yandex парсер гугл парсеры парсер яндекс подача объявлений на все доски получение котировок проверка битых ссылок работа с ftp работа с Human Emulator работа с TOR работа с почтой работа с сайтами работа с файлами в скриптах работа с файлом human emulator разное рассылка писем регистраторы сборщики сборщик почты твиттер эмуляция пользователя

Рубрики

  • видео
  • доски объявлений
  • программы
  • работа с почтой
  • работа с сайтами
  • разное
  • сборщики, парсеры, грабберы
  • скрипты
  • социальные сети
  • статьи
  • эмуляция действий пользователя

Страницы

  • Автоматизация социальных сетей
  • Главная
  • Контакты
  • Программы
  • Сотрудничество
  • Услуги
  • Школа
  • Работа с почтой

Последние статьи

  • Авторизация в социальной сети ВКонтакте с помощью Human Emulator
  • C# исходники программы Сборщик email адресов
  • Программа Сборщик email адресов
  • Скрипт Human Emulator парсинга HTML-страницы с использованием XPath

Контакты:

  • Если Вам не ответили в скайп, пожалуйста, пишите нам на e-mail.
  • order@x-scripts.com
  • igor_sev2

© Copyright 2011-2023 Сообщество разработчиков скриптов Human Emulator