Парсинг данных

Парсинг данных (parsing) - это автоматизированный сбор контента или данных с какого-либо сайта или сервиса. Для парсинга используется программа, которая может быть как универсальной программой для парсинга (например, Content Downloader X1 или DataCol), так и скриптом на сервере.

Обычно, я обхожусь серверным решением, так как, в большинстве случаев, так проще описать логику сбора данных с сайтов со сложной структурой и можно гибче реагировать на непредвиденные ответы сервера.

Результатом работы парсера является файл (или набор файлов), таблица (CSV,XLS), база данных (СУБД MySQL) XML или иной удобный заказчику формат.

Парсинг — это, по сути, преобразование данных из неудобоваримого формата в формат удобоваримый. Под "неудобоваримым форматом" также можно подразумевать каталоги, элементы которого размещены на нескольких тысячах страницах. С помощью парсинга можно, например, запросто собрать на одном листе Excell список объектов и их характеристики даже если каждый объект находится на отдельной странице сайта, а всего таких объектов несколько тысяч.

Этапы парсинга

Любой процесс парсинга состоит из трех отдельных этапов:

Зачем и кому нужен парсинг

Наиболее распространенные ситуации в которых можно автоматизировать процесс и сэкономить огромное количество времени и денег:

Примеры выполненных работ


AUTO.RU - Сбор информации о марках, моделях, модификациях и характеристиках легковых, грузовых автомобилей и некоторых других видов транспорта, а также фотографий к ним. Результатом парсинга этой информации стало создание сайтов занимающихся продажей и демонстрацией полученных данных: http://big-car-base.ru, http://auto-base-buy.ru, http://spravochniki.info, http://bases.boenskov.ru
Объем (по легковым авто): 211 брендов, 2.3тыс марок, 6.1тыс версий и поколений, 41тыс модификаций, 1.5 млн характиристик по 57 параметрам.

baby.ru - Одна из крупнейших и сложнейших задач: собрать с сайта информацию о пользователях, их комментариях, записях на форуме и на стенах, их закладках и многих других параметров.
Общий объем: 11 млн записей!!! (3 Гб данных)

tendercat.ru - крупный личный онлайн-проект (сайчас, надеюсь, временно, находится в стадии анабиоза). Проект занимался сбором информации о текущих государственных заказах с сайта госзакупок РФ zakupki.gov.ru. Информация по лотам загружалась из двух источников которые дополняли друг-друга: со страниц основного сайта и с FTP-ресурса системы. Ежеминутно сервер обрабатывал громадные объемы данных. Клиентам сервиса предоставлялся доступ к более чем миллиону записей которые были результатом парсинга. Также клиенты получали удобный поиск и возможность обработки и учета найденных заказов.

menbazar.ru - Создан парсер прайс-листов в формате Excell для автоматического обновления ассортимента продукции и цен на основе прайса поставщика.

all-autoglass.ru - Сбор информации по ассортименту автомобильных стекол, а также характеристик и применимости для конкретных автомобилей.
Объем: 27тыс записей.

cian.ru - Сбор номеров мобильных телефонов продавцов недвижимости Москвы и Московской области для осуществления рекламной СМС-рассылки.
Объем: 38тыс записей с разбивкой по региону (МСК, МО, МСК+МО)

reformagkh.ru - Собрана информация об объектах ЖКХ (ДЭЗ, РЭУ, ЖЭК и пр.)
Объем: 53тыс записей

tehintkom.ru - Собрана информация о запчастях и агрегатах для грузовых автомобилей
Объем: почти 20тыс записей

zakupki.gov.ru - Собрана информация о компаниях заключавших договора по госконтрактам по итогам торгов на сайте госзакупок
Объем: более 250тыс записей

auto-legion.ru - Собрана информация параметрах автомобильных шин и дисков. Собранную базу можно купить у меня.
Объем: 4700 записей

zismo.biz - Создание карты сайта-форума (sitemap.xml). Потребовалось использование прокси для обхода блокировки которую выставлял сайт при попытке массивного доступа с одного IP адреса.
Объем: около 800тыс уникальных URL