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

Тема в разделе "Мелочи", создана пользователем recasher2k12, 6 ноя 2012.

  1. recasher2k12

    recasher2k12

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

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

    Также необходим модули contextify и 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 потоков... Боюсь он меня забанит быстро.
     
    lantseff нравится это.
  2. kalineo

    kalineo Создатель

    Регистр.:
    18 мар 2012
    Сообщения:
    28
    Симпатии:
    4
    Думаю будет интересна еще такая информация:

    icq
    друзья
    семейное положение
     
    recasher2k12 нравится это.