Vkontakte Сборщик url-ов на страницы пользователей

recasher2k12

Гуру форума
Регистрация
19 Фев 2012
Сообщения
156
Реакции
80
Проблема не новая. Предлагаю свой способ решения.
Решение кроссплатформенное, может быть запущено как на компьютере с Windows, так и на vds например на linux или freebsd.

Для работы необходимо установленные nodejs и mysql.

Также необходим модули Для просмотра ссылки Войди или Зарегистрируйся и Для просмотра ссылки Войди или Зарегистрируйся. Они устанавливаются командами
Код:
npm install -g contextify
npm install -g mysql@2.0.0-alpha4

Скрипт можно скачать здесь:



В БД создаем таблицу Users:
Код:
CREATE TABLE `users` (
  `id` bigint(20) NOT NULL,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Откроем блокнотом crawler.js и пропишем настройки БД на строках 9-14 скрипта :
Код:
var db = mysql.createConnection({
    host    : 'localhost',
    user    : 'root',
    password: 'password',
    database: 'vk'
});
В файле links.txt хранятся список ссылок для парсинга. Для первого запуска скрипта необходимо оставить:
Код:
catalog.php
Запуск скрипта командой:
Код:
node crawler.js

После запуска в папке скрипта создастся два файла:
problems.txt - список проблемных ссылок
success.txt - список ссылок, которые успешно обработаны

Если по какой-то причине (а их может быть много) кровлер не выполнил свою работу сполна, то есть problems.txt содержит хоть одну ссылку, необходимо переименовать problems.txt в links.txt и запустить скрипт заново.

По окончанию кровлинга таблица users будет весить около 8.29Гб.

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

Какая информация на странице пользователя будет интересна?:
  • ФИ
  • пол
  • город
  • дата рождения
  • телефоны
  • время последнего визита
  • skype
  • icq
  • email
продолжите список...

UPDATE

Парсинг друзей будет в третьем прогоне. Мне просто важна скорость парсинга. Для начала нужно ограничиться загрузкой одной страницы на одну анкету. В случае с друзьями, я могу их загружать только пачками, нужно создавать много последовательных http-запросов. А с учетом того, что я иду по вконтакту в 10 потоков... Боюсь он меня забанит быстро.
 
Думаю будет интересна еще такая информация:

icq
друзья
семейное положение
 
Назад
Сверху