- Регистрация
- 25.08.2011
- Сообщения
- 866
- Благодарностей
- 948
- Баллы
- 93
ЧАСТЬ 1. Парсер.
Поскольку здесь заговорили о рассылке с доноров, я решил вставить свои пять копеек. Моя тема не об успехе, а только о попытке к нему подступиться..
Длительное время я работал в буржунете (точнее, всегда, в рунете заработал меньше $10 лет десять назад) - финансовые офферы, немного дейтинга, в основном, по США. Моя тема - смс рассылка, и отправка 140 символов пендосам до определенного времени приносила хорошие дивиденды.
Но борьба со всё усиливающейся антиспам-системой всех этих ATT, T-Mobile, Verizon, etc. заставили меня рассмотреть другие варианты заработка. Я когда-то недолго пробовал тему по Essay и решил к ней снова вернуться. Кроме того, в прошлом году я приобрел ZennoPoster, затем изучил кучу курсов по нему (Zenno Academy полностью, каждый байт из 100Gb, Карл!, и иных рогожкиных, нзткодеров и т.д.), которые помогли мне понять всю красоту и мощь C#, и в начале весны решил попробовать рассылку с доноров, поскольку слышал о них много хорошего
Итак, поскольку трафик Essay - образовательный, я решил немного поспами..(проинформировать) о моем предложении непосредственных потребителей, т.е. студентов, которые учатся в колледжах США и Великобритании.
Для этого мне нужна была база их email с именами. А где можно взять такую базу? Правильно, на сайтах их вузов.
Я забил в поисковик "top 100 usa university college list" и первым получил сайт
со списком всех крупных учебных заведений США - всякие Принстоны, Йели, Гарварды и т.д.
То же самое я проделал для запроса "top united kingdom university college list", где первыми были университеты Кембриджа и Оксфорда.
Сбор данных я продемонстрирую на примере как раз Оксфордского университета.
Я написал шаблон для парсинга информации с этого сайта - имя студента, факультет и email.
Для начала я разобрался, как работает поиск людей на сайте Оксфордского университета.
Переходим на
и получаем вот это
Строка поиска выглядит так
Но где же наши студенты с их мылами?!
Справа на странице мы видим форму CONTACT SEARCH с полямим ввода.
Нас интересует поле Surname, т.е. фамилия.
Вводим также довольно редкую английскую фамилию Smith,
ставим чекбокс на Exact(Точное), можно поставить и на Approximate (Приблизительно) и жмём большую красную кнопку EMAIL
Результат - 560 человек с фамилией Smith, их email и факультет.
Теперь нужно данные всех студентов собрать и записать в таблицу, а затем найти всех остальных студентов, используя подстановку англоязычных фамилий.
Парсер будем писать на веб (на запросах лень было делать, хотя парсеры других вузов делал на запросах).
Для работы нам понадобятся списки с наиболее популярными английскими именами и фамилиями.
Эти списки я нашел по запросам "most popular english name" и "most popular english surname".
Например, здесь имена
здесь фамилии
Как их спарсить, я не буду показывать, поскольку у нас не конкурс шаблонов ;-}
Сохраняем фамилии в файл LastName.txt
Теперь переходим к написанию кода.
Добавляем библиотеки и прописываем в общий код.
Код самого парсера
Вот что получилось собрать примерно с 1000 английских фамилий.
Дубли я не удалял, потому что не знаю как сделать сниппет для их очистки.
Вот так выглядит работа парcера в PM
ЧАСТЬ 2. Рассыльщик
Бонусом я выложу спамер для рассылки по донору. Донором я выбрал сайт https://www.sendtransfer.com/
Там всё очень просто - добавляется ранее созданный файл с предложением перейти по ссылке,
затем вводятся 10 email из собранного ранее списка, добавляется также сообщение(Message) с ссылкой,
и генерируется email отправителя. После нажатия кнопки Send проверяется на Отправлено-Не отправлено.
Главное премущество этого сайта - нет каптчи до сих пор.
Спамер работает через веб в многопотоке. Можно включить прокси.
Сначала я присоединял файл в .pdf с кликабельными ссылками, но это сильно тормозило процесс рассылки,
поэтому я просто стал присоединять 1-килобайтовый файлик с предложением и ссылкой.
Для проверки работы рекомендую 10 раз ввести свою почту и отправить себе письмо, если получите 10 писем - всё ок.
Надо сказать что к теме создания оффера я отнесся небрежно, сказались годы работы с смс и 140 символами.
Поэтому, после рассылки примерно 60000 писем я получил около 2500 кликов от пендосов и прочих буржуинов и $0 профита.
Затем sendtransfer, вероятно, заметил меня и письма перестали открывать или доходить.
Хотя при отправке вручную все работает.
Возможно, эта тема кому-то пригодится, кто-то учтет мои ошибке и подымет на этом бабла, а затем поделится своей темой с нами.
Спасибо за ваше потраченное время.
PS. Шаблоны сегодня работали, если будут глючить - пишите.
Поскольку здесь заговорили о рассылке с доноров, я решил вставить свои пять копеек. Моя тема не об успехе, а только о попытке к нему подступиться..
Длительное время я работал в буржунете (точнее, всегда, в рунете заработал меньше $10 лет десять назад) - финансовые офферы, немного дейтинга, в основном, по США. Моя тема - смс рассылка, и отправка 140 символов пендосам до определенного времени приносила хорошие дивиденды.
Но борьба со всё усиливающейся антиспам-системой всех этих ATT, T-Mobile, Verizon, etc. заставили меня рассмотреть другие варианты заработка. Я когда-то недолго пробовал тему по Essay и решил к ней снова вернуться. Кроме того, в прошлом году я приобрел ZennoPoster, затем изучил кучу курсов по нему (Zenno Academy полностью, каждый байт из 100Gb, Карл!, и иных рогожкиных, нзткодеров и т.д.), которые помогли мне понять всю красоту и мощь C#, и в начале весны решил попробовать рассылку с доноров, поскольку слышал о них много хорошего
Итак, поскольку трафик Essay - образовательный, я решил немного поспами..(проинформировать) о моем предложении непосредственных потребителей, т.е. студентов, которые учатся в колледжах США и Великобритании.
Для этого мне нужна была база их email с именами. А где можно взять такую базу? Правильно, на сайтах их вузов.
Я забил в поисковик "top 100 usa university college list" и первым получил сайт
со списком всех крупных учебных заведений США - всякие Принстоны, Йели, Гарварды и т.д.
То же самое я проделал для запроса "top united kingdom university college list", где первыми были университеты Кембриджа и Оксфорда.
Сбор данных я продемонстрирую на примере как раз Оксфордского университета.
Я написал шаблон для парсинга информации с этого сайта - имя студента, факультет и email.
Для начала я разобрался, как работает поиск людей на сайте Оксфордского университета.
Переходим на
В правом верхнем углу в строке поиска вводим редкое английское имя John и нажимаем на Search
и получаем вот это
Строка поиска выглядит так
я сократил её до
И ниже нам дается информация обо всех Джонах, включая писателей, выдающихся личностей и других типов, нам не нужных.
Но где же наши студенты с их мылами?!
Справа на странице мы видим форму CONTACT SEARCH с полямим ввода.
Нас интересует поле Surname, т.е. фамилия.
Вводим также довольно редкую английскую фамилию Smith,
ставим чекбокс на Exact(Точное), можно поставить и на Approximate (Приблизительно) и жмём большую красную кнопку EMAIL
Результат - 560 человек с фамилией Smith, их email и факультет.
Теперь нужно данные всех студентов собрать и записать в таблицу, а затем найти всех остальных студентов, используя подстановку англоязычных фамилий.
Парсер будем писать на веб (на запросах лень было делать, хотя парсеры других вузов делал на запросах).
Для работы нам понадобятся списки с наиболее популярными английскими именами и фамилиями.
Эти списки я нашел по запросам "most popular english name" и "most popular english surname".
Например, здесь имена
и
здесь фамилии
с которыми я и буду работать.
Как их спарсить, я не буду показывать, поскольку у нас не конкурс шаблонов ;-}
Сохраняем фамилии в файл 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);//удаляем фамилию из списка
}
Дубли я не удалял, потому что не знаю как сделать сниппет для их очистки.
Вот так выглядит работа парcера в PM
ЧАСТЬ 2. Рассыльщик
Бонусом я выложу спамер для рассылки по донору. Донором я выбрал сайт https://www.sendtransfer.com/
Там всё очень просто - добавляется ранее созданный файл с предложением перейти по ссылке,
затем вводятся 10 email из собранного ранее списка, добавляется также сообщение(Message) с ссылкой,
и генерируется email отправителя. После нажатия кнопки Send проверяется на Отправлено-Не отправлено.
Главное премущество этого сайта - нет каптчи до сих пор.
Спамер работает через веб в многопотоке. Можно включить прокси.
Сначала я присоединял файл в .pdf с кликабельными ссылками, но это сильно тормозило процесс рассылки,
поэтому я просто стал присоединять 1-килобайтовый файлик с предложением и ссылкой.
Для проверки работы рекомендую 10 раз ввести свою почту и отправить себе письмо, если получите 10 писем - всё ок.
Надо сказать что к теме создания оффера я отнесся небрежно, сказались годы работы с смс и 140 символами.
Поэтому, после рассылки примерно 60000 писем я получил около 2500 кликов от пендосов и прочих буржуинов и $0 профита.
Затем sendtransfer, вероятно, заметил меня и письма перестали открывать или доходить.
Хотя при отправке вручную все работает.
Возможно, эта тема кому-то пригодится, кто-то учтет мои ошибке и подымет на этом бабла, а затем поделится своей темой с нами.
Спасибо за ваше потраченное время.
PS. Шаблоны сегодня работали, если будут глючить - пишите.
- Тема статьи
- Парсинг
- Номер конкурса статей
- Тринадцатый конкурс статей
Вложения
-
697,6 КБ Просмотры: 379
-
14 КБ Просмотры: 310
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.
Последнее редактирование: