- Регистрация
- 19.09.2011
- Сообщения
- 2 520
- Реакции
- 1 227
- Баллы
- 113
Приветствую участников форума и новичков в области веб-автоматизации.
Представляю вашему вниманию простенький парсер анкет социальной сети Мой Мир Mail.Ru.
Шаблон, в первую очередь, выступает в качестве доказательства того, что даже сейчас возможно создание шаблонов, практически, без использования C#. Именно поэтому пришлось отказаться от автоматического добавления количества попыток выполнения шаблона и автоматического запуска в многопотоке, поскольку на данный момент без C# мне не удалось отловить, что глобальная переменная не инициализирована. В данном случае всё реализовано стандартными экшенами, за исключением обработки дат для добавления в БД MySQL.
Давно известно, что таргетированная рассылка дает более высокий конверт. А в этих анкетах, порой встречаются весьма интересные подробности:

Использование базы данных дает возможность хранить полные варианты анкет и обрабатывать их с высокой скоростью, для создания узкоцелевой выборки из собранной базы пользователей.
В качестве пространства для развития, в данной версии шаблона, парсятся группы только с первой страницы выдачи. Желающие могут это легко доработать.
Шаблон может работать в многопотоке, для этого, полученные, по запросу, группы складываются в файл. Далее они берутся оттуда с удалением, а это значит, что каждый поток обрабатывает участников только одной группы. В случае, если файл пуст, необходимо дать время первому потоку заполнить его группами.
Как известно, с некоторых пор, Мой Мир отдает только 500 участников группы. Чтобы исправить это досадное недоразумение, в шаблон добавлена возможность использования словаря. Например, с именами и фамилиями, для того чтобы расширить выдачу. Архив с именами и фамилиями прилагается.
Парсинг анкеты производится при помощи стандартного HTTP-GET запроса, с использованием относительно новой функции CookieContainer.
Входные настройки

При выводе данных в файлы полный слепок анкеты не сохраняется.
В качестве СУБД я использую портированный MySQL 5.5.25, который входит в состав AMP пакета Denwer, чего и вам советую.
CREATE TABLE IF NOT EXISTS `mymailru` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`mailurl` text NOT NULL,
`email` text NOT NULL,
`inviz` tinyint(1) NOT NULL,
`bdate` date NOT NULL,
`age` tinyint(3) NOT NULL,
`from` text NOT NULL,
`livenow` text NOT NULL,
`lastseen` date NOT NULL,
`info` text NOT NULL,
`keyword` text NOT NULL,
`groupname` text NOT NULL,
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
`id` int(11) NOT NULL AUTO_INCREMENT,
`mailurl` text NOT NULL,
`email` text NOT NULL,
`inviz` tinyint(1) NOT NULL,
`bdate` date NOT NULL,
`age` tinyint(3) NOT NULL,
`from` text NOT NULL,
`livenow` text NOT NULL,
`lastseen` date NOT NULL,
`info` text NOT NULL,
`keyword` text NOT NULL,
`groupname` text NOT NULL,
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
P.S.: Для тех кому нужен парсинг только почтовых адресов - из шаблона легко выпилить ненужные запчасти. Также, хочу заметить, что мобильная версия Моего Мира, на момент написания данного поста, отдает 2020 участников. А в приложении под Android возможно также осуществлять поиск по участникам, как в настольной версии

- Номер конкурса шаблонов
- Третий конкурс шаблонов
- Уровень сложности
- Средний
- Категория
- Парсинг




