recasher2k12
Гуру форума
- Регистрация
- 19 Фев 2012
- Сообщения
- 156
- Реакции
- 80
- Автор темы
- #1
Проблема не новая. Предлагаю свой способ решения.
Решение кроссплатформенное, может быть запущено как на компьютере с Windows, так и на vds например на linux или freebsd.
Для работы необходимо установленные nodejs и mysql.
Также необходим модули Для просмотра ссылки Войдиили Зарегистрируйся и Для просмотра ссылки Войди или Зарегистрируйся. Они устанавливаются командами
Скрипт можно скачать здесь:
В БД создаем таблицу Users:
Откроем блокнотом crawler.js и пропишем настройки БД на строках 9-14 скрипта :
В файле links.txt хранятся список ссылок для парсинга. Для первого запуска скрипта необходимо оставить:
Запуск скрипта командой:
После запуска в папке скрипта создастся два файла:
problems.txt - список проблемных ссылок
success.txt - список ссылок, которые успешно обработаны
Если по какой-то причине (а их может быть много) кровлер не выполнил свою работу сполна, то есть problems.txt содержит хоть одну ссылку, необходимо переименовать problems.txt в links.txt и запустить скрипт заново.
По окончанию кровлинга таблица users будет весить около 8.29Гб.
Если кому будет интересно, на днях могу выложить скрипт парсинга страниц пользователей Vkontakte.
Какая информация на странице пользователя будет интересна?:
UPDATE
Парсинг друзей будет в третьем прогоне. Мне просто важна скорость парсинга. Для начала нужно ограничиться загрузкой одной страницы на одну анкету. В случае с друзьями, я могу их загружать только пачками, нужно создавать много последовательных http-запросов. А с учетом того, что я иду по вконтакту в 10 потоков... Боюсь он меня забанит быстро.
Решение кроссплатформенное, может быть запущено как на компьютере с 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'
});
Код:
catalog.php
Код:
node crawler.js
После запуска в папке скрипта создастся два файла:
problems.txt - список проблемных ссылок
success.txt - список ссылок, которые успешно обработаны
Если по какой-то причине (а их может быть много) кровлер не выполнил свою работу сполна, то есть problems.txt содержит хоть одну ссылку, необходимо переименовать problems.txt в links.txt и запустить скрипт заново.
По окончанию кровлинга таблица users будет весить около 8.29Гб.
Если кому будет интересно, на днях могу выложить скрипт парсинга страниц пользователей Vkontakte.
Какая информация на странице пользователя будет интересна?:
- ФИ
- пол
- город
- дата рождения
- телефоны
- время последнего визита
- skype
- icq
UPDATE
Парсинг друзей будет в третьем прогоне. Мне просто важна скорость парсинга. Для начала нужно ограничиться загрузкой одной страницы на одну анкету. В случае с друзьями, я могу их загружать только пачками, нужно создавать много последовательных http-запросов. А с учетом того, что я иду по вконтакту в 10 потоков... Боюсь он меня забанит быстро.