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

soprano1

Client
Регистрация
25.08.2011
Сообщения
137
Благодарностей
35
Баллы
28
ЧАСТЬ 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. Шаблоны сегодня работали, если будут глючить - пишите.
 

Вложения

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

DrunkDeath

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

soprano1

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

seregakot

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

soprano1

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

Alexde

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

soprano1

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

Dexio

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

soprano1

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

Nike59

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

soprano1

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

Nike59

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

Zedx

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

soprano1

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

awm

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

soprano1

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

Dexio

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

awm

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

Szerzs

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

Вложения

soprano1

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

Szerzs

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

soprano1

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

Smith
Johnson
Miller
Gordon
Brown

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

Szerzs

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

soprano1

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

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