Сбор данных и рассылка в бурже с трастового донора по теме Essay.

soprano

Client
Регистрация
25.08.2011
Сообщения
796
Благодарностей
839
Баллы
93
ЧАСТЬ 1. Парсер.

Поскольку здесь заговорили о рассылке с доноров, я решил вставить свои пять копеек. Моя тема не об успехе, а только о попытке к нему подступиться..

Длительное время я работал в буржунете (точнее, всегда, в рунете заработал меньше $10 лет десять назад) - финансовые офферы, немного дейтинга, в основном, по США. Моя тема - смс рассылка, и отправка 140 символов пендосам до определенного времени приносила хорошие дивиденды.

Но борьба со всё усиливающейся антиспам-системой всех этих ATT, T-Mobile, Verizon, etc. заставили меня рассмотреть другие варианты заработка. Я когда-то недолго пробовал тему по Essay и решил к ней снова вернуться. Кроме того, в прошлом году я приобрел ZennoPoster, затем изучил кучу курсов по нему (Zenno Academy полностью, каждый байт из 100Gb, Карл!, и иных рогожкиных, нзткодеров и т.д.), которые помогли мне понять всю красоту и мощь C#, и в начале весны решил попробовать рассылку с доноров, поскольку слышал о них много хорошего;-)

Итак, поскольку трафик Essay - образовательный, я решил немного поспами..(проинформировать) о моем предложении непосредственных потребителей, т.е. студентов, которые учатся в колледжах США и Великобритании.
Для этого мне нужна была база их email с именами. А где можно взять такую базу? Правильно, на сайтах их вузов.
Я забил в поисковик "top 100 usa university college list" и первым получил сайт
56500

со списком всех крупных учебных заведений США - всякие Принстоны, Йели, Гарварды и т.д.
То же самое я проделал для запроса "top united kingdom university college list", где первыми были университеты Кембриджа и Оксфорда.
Сбор данных я продемонстрирую на примере как раз Оксфордского университета.
Я написал шаблон для парсинга информации с этого сайта - имя студента, факультет и email.
Для начала я разобрался, как работает поиск людей на сайте Оксфордского университета.
Переходим на
В правом верхнем углу в строке поиска вводим редкое английское имя John и нажимаем на Search
56501


и получаем вот это

56502


Строка поиска выглядит так
я сократил её до
И ниже нам дается информация обо всех Джонах, включая писателей, выдающихся личностей и других типов, нам не нужных.
Но где же наши студенты с их мылами?!
Справа на странице мы видим форму CONTACT SEARCH с полямим ввода.
Нас интересует поле Surname, т.е. фамилия.
Вводим также довольно редкую английскую фамилию Smith,
ставим чекбокс на Exact(Точное), можно поставить и на Approximate (Приблизительно) и жмём большую красную кнопку EMAIL

56503


Результат - 560 человек с фамилией Smith, их email и факультет.

56504


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

Парсер будем писать на веб (на запросах лень было делать, хотя парсеры других вузов делал на запросах).
Для работы нам понадобятся списки с наиболее популярными английскими именами и фамилиями.
Эти списки я нашел по запросам "most popular english name" и "most popular english surname".
Например, здесь имена
и
здесь фамилии
с которыми я и буду работать.
56505


Как их спарсить, я не буду показывать, поскольку у нас не конкурс шаблонов ;-}
Сохраняем фамилии в файл LastName.txt

Теперь переходим к написанию кода.
Добавляем библиотеки и прописываем в общий код.
C#:
using HtmlAgilityPack;
using System.Xml.XPath;
using System.Net;
using System.Net.Http;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pars;
using System.Web;
using System.Web.Script.Serialization;
//Какие-то из них лишние, но какие не помню, поэтому написал все.
Код самого парсера
C#:
   //Начальные данные.
        instance.ClearCache(); //чистим кэш
        instance.ClearCookie(); //чистим куки
        instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Chrome, true); // на хроме лучше работает
        Tab Active = instance.ActiveTab; //активная вкладка

    //Объявлем переменные
        string pathFileOut = project.Directory + @"\people.csv"; //файл для сохранения данных
        string resurl = String.Empty; //ссылка для поиска
        string lstTemp = String.Empty; //временный список
        IZennoList List = project.Lists["List"];//файл с фамилиями, привязываем LastName.txt
        Random rnd = new Random(); //случайное число
    //Создаем таблицу, если её нет
        if(!File.Exists(pathFileOut))
        {
            File.AppendAllText(pathFileOut, "Name;Title;Email" + Environment.NewLine, Encoding.UTF8);
        }
    //и привязываем к файлу people.csv, который надо создать в директории проекта.

    //начинаем цикл
        for (int i = 0; i < List.Count; i++)
        {
        lstTemp = List[0];

        resurl = "https://www.ox.ac.uk/search?wssl=1";
        Thread.Sleep(rnd.Next(399,700));
                project.SendInfoToLog("Сформировали ссылку для парсинга: " + resurl, true);
                Active.Navigate(resurl);
                Active.WaitDownloading();

        Active.FindElementByXPath("//input[@name='lastname']", 0).SetValue(lstTemp, "Full");//вводим фамилию из списка
            Thread.Sleep(rnd.Next(399,700));
        Active.FindElementByXPath("//input[@id='exact2']", 0).Click();//чекбоксим на "Exact"
            Thread.Sleep(rnd.Next(399,700));
        Active.FindElementByXPath("//input[@name='find_email']", 0).Click();//кликаем на кнопку EMAIL
            Thread.Sleep(rnd.Next(500,700));
          //Active.KeyEvent("Enter", "press", ""); //не помню зачем нужна, поэтому не удаляю
            Thread.Sleep(rnd.Next(1500,2700));

        HtmlElementCollection col = Active.FindElementsByXPath("//li[contains(@class, 'person_entry')]");//объявляем коллекцию нод

            if(col == null) //если никого нет с такой фамилией, заканчиваем
        {
            project.SendErrorToLog("Не найдено никого, прекращаем работу", true);
            return null;// чтобы не прервалось, можно поставить continue;
        }

        project.SendInfoToLog("Количество людей на странице: " + col.Count.ToString());

        //Собираем данные
        List<string> data = new List<string>(); //переменная для сохранения данных

        foreach (HtmlElement value in col) //перебираем полученную из поиска информацию
        {
            string Name = value.FindChildByXPath(".//div[@class='person_name']", 0).InnerText.Trim().HtmlDecode();//парсим имя
            Thread.Sleep(rnd.Next(11,22));
 
            string Title = value.FindChildByXPath(".//div[@class='person_unit']", 0).InnerText.Trim().HtmlDecode();//парсим факультет
            Thread.Sleep(rnd.Next(11,22));
 
            string Email = value.FindChildByXPath(".//a[contains(@href, 'mailto')]", 0).InnerText.Trim().HtmlDecode();//парсим email
            Thread.Sleep(rnd.Next(12,33));

            string line = String.Format("{0};{1};{2}", Name, Title, Email);
            project.SendInfoToLog(line, true);
            data.Add(line);
        }

        File.AppendAllLines(pathFileOut, data, Encoding.UTF8);//сохраняем данные в нужной кодировке
        List.RemoveAt(0);//удаляем фамилию из списка
    }
Вот что получилось собрать примерно с 1000 английских фамилий.

56506


Дубли я не удалял, потому что не знаю как сделать сниппет для их очистки.
Вот так выглядит работа парcера в PM

56507



ЧАСТЬ 2. Рассыльщик

Бонусом я выложу спамер для рассылки по донору. Донором я выбрал сайт https://www.sendtransfer.com/

56508

Там всё очень просто - добавляется ранее созданный файл с предложением перейти по ссылке,
затем вводятся 10 email из собранного ранее списка, добавляется также сообщение(Message) с ссылкой,
и генерируется email отправителя. После нажатия кнопки Send проверяется на Отправлено-Не отправлено.
Главное премущество этого сайта - нет каптчи до сих пор.

Спамер работает через веб в многопотоке. Можно включить прокси.
Сначала я присоединял файл в .pdf с кликабельными ссылками, но это сильно тормозило процесс рассылки,
поэтому я просто стал присоединять 1-килобайтовый файлик с предложением и ссылкой.

Для проверки работы рекомендую 10 раз ввести свою почту и отправить себе письмо, если получите 10 писем - всё ок.
Надо сказать что к теме создания оффера я отнесся небрежно, сказались годы работы с смс и 140 символами.
Поэтому, после рассылки примерно 60000 писем я получил около 2500 кликов от пендосов и прочих буржуинов и $0 профита.
Затем sendtransfer, вероятно, заметил меня и письма перестали открывать или доходить.
Хотя при отправке вручную все работает.

Возможно, эта тема кому-то пригодится, кто-то учтет мои ошибке и подымет на этом бабла, а затем поделится своей темой с нами.
Спасибо за ваше потраченное время.

PS. Шаблоны сегодня работали, если будут глючить - пишите.
 
Тема статьи
Парсинг
Номер конкурса статей
Тринадцатый конкурс статей

Вложения

Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

Последнее редактирование:

DrunkDeath

Client
Регистрация
24.12.2014
Сообщения
566
Благодарностей
379
Баллы
63
Помню у меня был огромный список сайтов формата *.edu.*
Юзал их как доноры для рассылки, хотя можно было пачками мыла бурж студентов вытаскивать
 

soprano

Client
Регистрация
25.08.2011
Сообщения
796
Благодарностей
839
Баллы
93
На многих колледжах есть формы информирования абитуриентов, но везде - ReCaptcha3 в придачу.
 
  • Спасибо
Реакции: ready-buisness

seregakot

Client
Регистрация
19.03.2016
Сообщения
126
Благодарностей
62
Баллы
28
+ вам за участие
будет часть 2 в этом конкурсе ?
 

soprano

Client
Регистрация
25.08.2011
Сообщения
796
Благодарностей
839
Баллы
93
Часть 2 - это рассыльщик. В конце статьи.
 
  • Спасибо
Реакции: seregakot

seregakot

Client
Регистрация
19.03.2016
Сообщения
126
Благодарностей
62
Баллы
28

Alexde

Client
Регистрация
03.11.2015
Сообщения
44
Благодарностей
20
Баллы
8
Самое главное забыл!) Скрины профита!
 

soprano

Client
Регистрация
25.08.2011
Сообщения
796
Благодарностей
839
Баллы
93
В 3-м с конца абзаце весь профит..
 

limarkximus

Client
Регистрация
01.08.2019
Сообщения
116
Благодарностей
73
Баллы
28

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
Интересно, а уникализировать текст пробовали или аналогичные офферы делать? Смотрели гео переходов и юзер агенты?
 

soprano

Client
Регистрация
25.08.2011
Сообщения
796
Благодарностей
839
Баллы
93
Я не спец в email рвссылке. Здесь же не только истории успеха рассказывают.
А с этими инструментами кто-то, может, заработает.
 
  • Спасибо
Реакции: Atlas

Nike59

Client
Регистрация
05.08.2011
Сообщения
122
Благодарностей
121
Баллы
43
Хороший опыт. А главное - отличный пример того, что заработать в буржунете вполне по силам многим.
 

limarkximus

Client
Регистрация
01.08.2019
Сообщения
116
Благодарностей
73
Баллы
28

soprano

Client
Регистрация
25.08.2011
Сообщения
796
Благодарностей
839
Баллы
93
Значит, кто-то не повторит мои ошибки, а сделает правильно.
 

Nike59

Client
Регистрация
05.08.2011
Сообщения
122
Благодарностей
121
Баллы
43
ну как раз таки тут пример что заработать нельзя :D
А я не имел ввиду сам этот пример. Я имел ввиду пример самого автора, который последние 10 лет работает в буржунете.
 

Uchim

Новичок
Регистрация
20.05.2020
Сообщения
11
Благодарностей
0
Баллы
1

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 165
Благодарностей
811
Баллы
113
Можно пересобрать шаблон sender на версии пониже? У меня версия 7.1.1.0 но всё равно ругается что нужно не ниже 5.41.1.0
 

soprano

Client
Регистрация
25.08.2011
Сообщения
796
Благодарностей
839
Баллы
93
  • Спасибо
Реакции: Zedx
Регистрация
15.06.2018
Сообщения
4
Благодарностей
1
Баллы
3

soprano

Client
Регистрация
25.08.2011
Сообщения
796
Благодарностей
839
Баллы
93
  • Спасибо
Реакции: ready-buisness

awm

Client
Регистрация
02.11.2011
Сообщения
159
Благодарностей
43
Баллы
28
Отличный метод по сбору базы. Думаю нужно не сдаваться, а поработать над креативами и потестить других доноров. Недавно тестил похожий ресурс 5M по симилару. Есть апи, возможность прикреплять до 50 отправителей, в ручную прослал на разные почтовики все красиво в инбох. Сделал шаб для работы через апи, но меня ждало разочарование после рассылки 40к и крохами трафа. Думаю причина в сервисе - со свежерега шлет, а когда начинаешь более массово они просто не доходят, после провала тестировал эту гипотезу, но дальше не развивал. Удачи в конкурсе!
 
  • Спасибо
Реакции: soprano

soprano

Client
Регистрация
25.08.2011
Сообщения
796
Благодарностей
839
Баллы
93
За similar спасибо. Забыл про него. С ходу нашел пару доноров. Сдаваться и не думаю, надеюсь, следующую статью напишу об успехе.
 

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
Отличный метод по сбору базы. Думаю нужно не сдаваться, а поработать над креативами и потестить других доноров. Недавно тестил похожий ресурс 5M по симилару. Есть апи, возможность прикреплять до 50 отправителей, в ручную прослал на разные почтовики все красиво в инбох. Сделал шаб для работы через апи, но меня ждало разочарование после рассылки 40к и крохами трафа. Думаю причина в сервисе - со свежерега шлет, а когда начинаешь более массово они просто не доходят, после провала тестировал эту гипотезу, но дальше не развивал. Удачи в конкурсе!
Аналогичную штуку моделировал, они быстро в фильтры уходить начинают и сервисы обычно смтп посредников юзают, а там ии блочит. Надо еще заголовки в коде писем чекать
 

awm

Client
Регистрация
02.11.2011
Сообщения
159
Благодарностей
43
Баллы
28
Аналогичную штуку моделировал, они быстро в фильтры уходить начинают и сервисы обычно смтп посредников юзают, а там ии блочит. Надо еще заголовки в коде писем чекать
С новорега те же письма доходят. Вариант много аков и до лимита, но я оставил. Рассылками только недавно начал интересоваться, особо тему не знаю, а полезной информации в свободном доступе не так много.
 

Szerzs

Client
Регистрация
15.06.2019
Сообщения
253
Благодарностей
68
Баллы
28
Хотел попробовать парсер,но появилось окно с ошибкой загрузки файла проекта (файлы проекта положил в C:\Program Files\ZennoLab\RU\ZennoPoster Lite (V7 beta)\5.40.0.0\Progs\ExternalAssemblies) .Не подскажет кто,как решается?
 

Вложения

soprano

Client
Регистрация
25.08.2011
Сообщения
796
Благодарностей
839
Баллы
93
В 7 beta не работаю, поэтому не знаю. На обычной 5-ке всё путём.
 

Szerzs

Client
Регистрация
15.06.2019
Сообщения
253
Благодарностей
68
Баллы
28
Спасибо-попробую.А фамилии уже включены в шаблон?
 

soprano

Client
Регистрация
25.08.2011
Сообщения
796
Благодарностей
839
Баллы
93
Нет, но в статье есть ссылка, где взять.
Можно для теста записать в файл:

Smith
Johnson
Miller
Gordon
Brown

и попробовать
 
  • Спасибо
Реакции: Szerzs

Szerzs

Client
Регистрация
15.06.2019
Сообщения
253
Благодарностей
68
Баллы
28
Та же проблема - ZP 5.40.0.0.Что не так,не подскажете?
 

soprano

Client
Регистрация
25.08.2011
Сообщения
796
Благодарностей
839
Баллы
93
у меня запускается, лучше спросите у ZennoLab Team, они шаблон запускали перед публикацией. Может, dll не все установлены?
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)