Абсурдное и нелепое предположение. Лук

Давайте на простом примере разберем что такое парсинг. Представьте, что Вы пришли в библиотеку и хотите быстро переписать все статьи из большой советской энциклопедии и разместить их у себя на сайте. И вот Вы сидите дни на пролет и изучаете каждый том, каждую статью, ищете информацию. А что если бы одним нажатием кнопки кто то за Вас сделал всю эту работу?

Или другой пример, более приближенный к реальности. Вы нашли интересный сайт с рецептами и хотите быстро и полностью скопировать их на свой сайт. Это не проблема, когда страниц всего несколько, но что если их тысячи или даже сотни тысяч? Как автоматизировать процесс, что бы не потерять время?

Это и есть процесс парсинг, только анализ и сбор информации происходит не из книг, а исключительно с интернет ресурсов. Процесс парсинга выполняется специальной программой-парсером. Она действует по определенным правилам и алгоритмам, которые закладывает разработчик. Например, можно собрать все статьи из википедии или получить телефоны с сайта объявлений авито и это лишь ничтожно малая часть возможностей парсинга. Объектом парсинга может быть блог, справочник, интернет-магазин, форум да и любой сайт который можно увидеть в интернете. Конечно, есть исключения, например когда вся инфомрация зашита во Flash ролике, то спарсить ее не получится. В любом случае перед парсингом требуется изучить ресурс-донор.

Парсер предоставляет информацию в определенном виде, который так же задается разработчиком программы. Весь процесс интернет парсинга можно разделить на несколько этапов:

  1. Получение кода интернет страницы
  2. Анализ полученных данных
  3. Обработка и формирование результата
  4. Вывод результата в файл или на экран

Результатом парсинга может быть текстовый файл, файл Эксель, csv, HTML файлы, каталог с картинками или видео и любой другой формат по требованию.

18.03.2016 1144

После серии наших статей о big data и сборе данных (ссылки - Анализ рынка недвижимости , Прогноз зарплаты по описанию вакансии), мы получили кучу заявок на новые проекты по парсингу. Клиенты хотят собирать всё и вся - от данных по посещенным страницам и каталогам конкурентов, до сведений о выгуле собак (было предложение разработать приложение, связанное с таким событием).

Мы столкнулись с рядом однотипных вопросов и решили подготовить мини-ликбез по тематике сбора и обработки данных - парсингу.

1. Что такое парсинг?

Под парсингом мы подразумеваем сбор определенной информации в интернете в целом, или с конкретного ресурса - базы данных, веб-сайта, файла. С ресурсов можно собирать и все подряд, но как правило зада состоит в том, чтобы собрать что-то конкретное. Например, в задаче по анализу объявлений о продаже автомобилей мы собирали с Авито, Автору, Дром, и т. д. свойства автомобилей и их цену. При создании сервиса по недвижимости, мы собирали объявления по продаже квартир. В данной статье мы будем говорить о сборе данных с веб-сайтов.

2. Как происходит сбор данных? Настройка параметров парсера.

Программисты создают роботов, которые обходят заданные ресурсы (веб-сайты), просматривают все их страницы и собирают все данные, которые отвечают заданным параметрам, в подготовленную базу данных. Как правило, хоть информация везде может быть одной и той же (в примере с автомобилем, объем двигателя, пробег и т. п. для объявления на Авито и Автору одинаковые), но предоставление ее на сайтах будет разным - даже в силу того, что каждый сайт имеет уникальное оформление - читай код html.

В связи с этим, для каждого ресурса создается свое правило сбора данных, перед этим программисты анализируют страницу с данными и вырабатывают решение - в каком месте отображается необходимая информация, скрыта ли она, в каком виде представлена. Весь этот процесс по сути и означает настройку парсера.

Если необходимо собирать данные часто и с некоторых ресурсов, для удобства создается панель управления парсером, в которой задаются правила сбора (предварительно разработанные), отображается журнал работы парсера, статистика, а также предпросмотр "сырых" собранных данных. Не лишним будет настроить уведомления о возникающих ошибках, сбоях самого парсера, изменении структуры информации на целевом ресурсе.

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

3. Возможные проблемы.

Владельцы многих популярных площадок и сайтов не любят, когда собирают с них информацию, для этого они усложняют структуру страницы (путают html-код), закрывают информацию невидимыми слоями, либо делают так, что страница генерируется только в браузере посетителя (физически на сервере просто нет такой страницы). В последнее время многие ресурсы просто отключают соединение, если понимают по запросам, что их парсят, особо наглых банят. Причем, некоторые из них чередуют и периодически меняют способы блокировки.

4. Как происходит обработка собранных данных.

Собрать "сырую" информацию - это полдела. Информация должна собираться в базу в единых единицах измерения, в корректном написании, учитывать возможные опечатки и ошибки кодировки. Ее надо разложить по полочкам, отделить зерна от плевел, так сказать. Для этого программисты создают дополнительные обработчики данных. Они проверяют массив собранных данных, убирают лишние пробелы, исправляют базовые опечатки. Обработчики позволяют избежать ошибки при дальнейшем анализе данных, и их использовании.

5. Что необходимо предусмотреть?

При составлении ТЗ для создания парсера у вас должны быть ответы на следующие вопросы:

  • Какие конкретно данные вы бы хотели получить. Например, ссылка на объявление; характеристики-значение "Объем двигателя", "Пробег", "Тип КП", "Привод" и т. д.
  • С каких ресурсов будет идти сбор (веб-сайты);
  • Отдаются ли данные напрямую, нет ли блокировок по трафику/запросам, нет ли блоков на самих страницах;
  • Разработал ли программист правило сбора с ресурса;
  • Предусмотрено ли задание/изменение параметров сбора? Будет ли панель управления с журналом работы и статистикой работы парсера;
  • Как вы будете узнавать о проблемах и ошибках работы парсера;
  • Куда будут собираться данные, продумайте структуру и содержание базы данных;
  • Что делать если в данных будет много мусора и ошибок, какие параметры для оценки качества сбора, какие возможны опечатки и некорректные заполнения;

6. Вместо итога

Мы бегло разобрали что такое сбор данных-парсинг, как он осуществляется и какие проблемы могут возникнуть.

Мы накопили огромный опыт в сфере сбора и анализа данных, наши программисты сочетают множество методов для обхода блокировок (виртуальные машины на базе Силениум, эмуляция поведенческих факторов, запросы с разных серверов и т. д.).

Если у вас есть интересный проект или хотя бы идея - мы открыты!

Как сделать сайт дёшево и тут же найти клиентов? Ответ очевиден - использовать современные достижения техники и оптимизации. Грамотные сайтостроители уже давно применяют парсинг для удешевления конечной стоимости сайта. И быстрого его наполнения. Беспрецедентно быстрого.

Иногда владельцев сайтов смущает, насколько законна данная услуга, можно ли свободно изымать и перерабатывать материал с других ресурсов? Мы ответим на все основные вопросы, прибегнув к анализу норм действующего у законодательства, и разберёмся, что делать можно, а что есть явное нарушение закона.

Самый распространённый вопрос, который задают клиенты парсинг-компаний: «Могу ли я копировать тексты и картинки с других сайтов, чтобы в последующем перенести на свой?». Обратимся к нормам части 4 Гражданского Кодекса Российской Федерации (далее - ГК РФ), который как раз и регулирует авторские и смежные права.

Любой владелец сайта, публикующий на нём контент, приобретает права на данный контент либо путём самостоятельного создания, либо путём покупки его у писателей, фотографов, владельцев других сайтов и т.д. Тексты, картинки, карточки товаров (в полном виде), структуры сайтов выступают объектом авторского права. К слову, в России срок действия авторского права составляет 70 лет либо период от создания до смерти автора, если автор живёт более 70 лет после создания произведения (ст.1281 ГКРФ ). Поэтому Вы свободно можете парсить картины великих художников прошлого, научные трактаты, учебники, художественные произведения и т.д. соответствующих годов издания. Вообще не являются объектом авторского и права и могут быть размещены на любом ресурсе : официальные документы государственных органов и органов местного самоуправления муниципальных образований, в том числе законы, другие нормативные акты, судебные решения, иные материалы законодательного, административного и судебного характера, официальные документы международных организаций, а также их официальные переводы; государственные символы и знаки (флаги, гербы, ордена, денежные знаки и тому подобное), а также символы и знаки муниципальных образований; произведения народного творчества (фольклор), не имеющие конкретных авторов; сообщения о событиях и фактах, имеющие исключительно информационный характер (сообщения о новостях дня, программы телепередач, расписания движения транспортных средств и тому подобное) (ст. 1259 ГК РФ ) .

И ещё один приятный момент - копировать на сайт можно любую информацию, если автор сам разместил её в открытом доступе, а Вы не планируете извлекать из её использования прибыль.

Парсинг текстов

Свободно осуществляется при синонимизации. Нужно учитывать, что в русском языке для большинства слов есть не один синоним. Поэтому восстановить начальный текст не всегда представляется возможным. Понятие произведения согласно ГКРФ включает в себя не только слова, но и их определённую структуру. Грамотный владелец сайта всегда понимает, что заимствовать на 100% глупо, хотя бы структура должна быть оригинальной (в крайнем случае - изменена). О произведениях, которые копировать можно свободно, уже сказано выше. Естественно, при заказе парсинга владелец сайта понимает, что ответственность за контент, содержащийся на его ресурсе, несёт только он, а не та фирма, что предоставляет услугу парсинга. Это вытекает из положений Закона «О средствах массовой информации» .

Парсинг картинок

Пожалуй, самый сложный вопрос. Для того, кто не знаком с законом и рынком. На самом деле, всё просто. Копировать картинки с сайта компании, товары которого вы продаёте, лучше всего. Владельцу сайта фирмы-производителя выгодно расширение продаж, на практике нет ни одного судебного решения по данному вопросу, так как нет исков. Если же копируются картинки с сайтов-конкурентов, то всегда можно внести на них личностный элемент, например, логотип вашей компании. Или произвести нехитрые манипуляции с фотошопом. И тогда речь идёт о переосмыслении либо пеработке произведения, что вполне законно. Есть ещё один момент, важный в парсинге товаров. Как правило при копировании картинок, речь идёт о товарах массового производства, которые не отличаются индивидуальными чертами и на фото неотличимы от аналогичных товаров с сайта-конкурента. Доказать, что у вас был такой же фон во время фотосессии, несложно. Доказать обратное практически невозможно. И повторимся - собирать базу данных картинок можно, это абсолютно законно. При использовании снимков из новостных лет вообще допустимо просто отсылать к источнику (часть 4 ГК РФ ). Убирают такие картинки только по требованию источника.

Парсинг файлов

Законен на 100%. Так как закачка файлов происходит на обменники, а с них скачивать контент может кто угодно, даже робот. Главное, чтобы содержание файла, который вы выкладываете на сайт, не противоречило закону. Учитывайте потенциальную аудиторию сайта.

Парсинг товаров

См. «Парсинг картинок». Если же речь идёт о содержимом карточек товаров (с их характеристиками), то, как правило, в них содержится информация, предоставляемая производителем, то есть общедоступные данные о товаре. А значит, копирование их вполне законно. Для большей убедительности рекомендуем в карточке менять либо фото, либо её размер.

Парсинг сайтов целикоми парсинг интернет-магазинов

Подразумевается перенос структуры сайта и содержимого (контента). Естественно, это будет не тот же сайт. Различается доменное имя, контактная информация, наименование Вашей компании и т.д. Для уникальности текстов их синонимизируют. Главный объект переноса - понравившаяся клиенту структура. Не рекомендуется копировать сайты «монстров». Но в ситуации с компаниями малого и среднего бизнес перенос бывает вполне оправдан. Клиент должен помнить, что в случае подозрения на нарушение авторских прав владельца первоначального сайта, иск будет предъявлен к нему. Поэтому перед парсингом стоит проанализировать, какие элементы сайта всё же нужно изменить. Помните! Парсинг сайта целиком достаточно распространён, иначе в сети было бы минимум в 20 раз меньше сайтов.

Парсинг телефонных номеров и парсинг E-mail адресов

Номера ГТС находятся в свободном доступе и могут быть опубликованы на любом сайте. Можно парсить без ограничений номера юридических лиц любого типа и номера индивидуальных предпринимателей. Почему? Существуют Единый реестр юридических лиц и Единый реестр индивидуальных предпринимателей. Номера частных лиц можно парсить, если они размещены самими этими лицами в СМИ (к коим относится и интернет). Сегодня подавляющее число людей размещают свои номера телефонов, месенджеров и «мыло» в социальных сетях. Соответственно, заказав парсинг-компании такую базу, любой бизнес получает колоссальную базу потенциальных клиентов. Притом, на абсолютно законных основаниях.

О чём должен помнить бизнесмен, заказывая парсинг?

  1. Он быстро получает информацию современными и законными способами. Сама суть услуги парсинга подразумевает, что собрать можно только ту информацию, которая находится в открытом доступе в сети Интернет.
  2. Машины не способны различать объекты, являющиеся защищенными авторским правом, и объекты, которые этим правом не защищены. Но при синонимизации машина создаёт уникальное произведение, являющееся самостоятельным объектом авторского права, которое будет принадлежать покупателю.
  3. В большинстве случаев для соблюдения интересов правообладателя достаточно делать отсылку на его ресурс с пометкой «Объект будет удалён по требованию правообладателя». Сообщать правообладателю об использовании объекта не обязательно.
  4. При переработке (рерайтинге) текстов, хоть как-то относящихся к новостным событиям, достаточно сделать пометку об источнике информации. Та же пометка делается относительно иллюстраций к новости (фото, рисунку и т.д.).
  5. Современный уровень развития авторского права в России не позволяет доказывать в суде факты переноса структуры сайта и синонимизации его содержания, что делает перенос сайта полностью законным.
  6. За содержание сайта ответственность несёт его владелец, а не компания, наполняющая сайт. Исключений из этого правила в законе нет.

Что такое парсинг? Что обозначает это слово, какой процесс под этим подразумевается. У многих новичков при встрече с незнакомыми терминами возникают примерно такие, вполне естественные вопросы.

Мне самому, когда впервые столкнулся с этим термином стало интересно, что же там эти оптимизаторы и вебдизайнеры парсят время от времени. итак перейдем к определению этого термина.

Термин « Парсинг» обозначает проведение визуального или программно-автоматизированного синтаксического и лексического анализа или разбора какого-либо документа с целью извлечения из него необходимых данных.

Это понятие очень близко по значению еще одного не очень понятного человеку далекому от SEO индустрии –
.

Также этот термин близок по смыслу таким понятиям как анализ и аудит.
В применении к SEO, парсинг это сбор информации с какого-то веб-ресурса. Парсить – значит разбирать какой-либо документ на составляющие части и обрабатывать их, согласно конечной цели.

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

Получается, что все процессы, где применяется синтаксический анализ, используют парсинг. Это различные автоматизированные переводчики с одного языка на другой, это и трансляторы языков программирования, которые формируют программный код на машинно-ориентированный язык, это и язык SQL-запросов и тому подобные процессы.

Как нетрудно понять, парсят в подавляющем большинстве случаев при помощи какой-либо программы, так как вручную или визуально это проделывать достаточно трудоемко. Эти программы называют парсерами.

Запросы на услуги парсинга популярны на фриланс-биржах или форумах, посвященных тематике SEO.

Парсинг сайтов

Какие же данные чаще всего получают при помощи парсинга? Это, например, подборка статей определенного автора, или подбор данных на определенную тематику.

Также для анализа часто парсят:

  • Выдачу поисковых систем
  • Поисковые запросы, семантику
  • Информацию по сайтам конкурентов (CMS, структуру, СЯ,…)
  • Данные с медиа-ресурсов, различных форумов
  • Данных с интернет-магазинов — товаров, цен и т.п.
  • И еще много самых различных данных

Это процесс называют парсингом сайтов.


Процесс парсинга в общем случае можно разделить на три этапа:

  • Анализ исходных данных, отбор документов для дальнейшей обработки.
  • Разбор отобранных документов на составляющие части, выбор необходимой информации и сохранение данных в необходимом формате.
  • Систематизация и формирование данных в формате, отчета, таблицы или другого понятного документа.

Приведу простой пример. Например, есть сайт-каталог промышленных компаний. Обработав этот сайт при помощи парсера, можно получить данные в виде отчета или таблицы примерно такого формата:

В СЕО-продвижении парсинг чаще всего используют для получения контента для дальнейшего рерайта или репостинга или для поиска каких-либо веб-ресурсов — форумов, блогов, Email-адресов. Также популярен парсинг внешних ссылок , для анализа сайтов-конкурентов и обнаружения доступных трастовых сайтов.

Все сталкивались с ситуацией, когда нужно собрать и систематизировать большое количество информации. Для стандартных задач по SEO-оптимизации сайта есть готовые сервисы , например, Netpeak Checker — для сравнения показателей конкурирующих сайтов или Netpeak Spider — для парсинга внутренней информации по сайту. Но что, если задача нетривиальна и готовых решений нет? Есть два пути: делать все руками и долго, или загнать рутинный процесс в матрицу, автоматизировать его и получать результат в разы быстрее. О таком кейсе и пойдет речь.

Что такое парсинг сайтов и зачем он нужен

Kimono — мощный и быстрый в настройке скрейпер с интуитивно понятным интерфейсом. Позволяет парсить данные с других сайтов и позже обновлять их. Бесплатный.

Познакомиться поближе и получить краткий мануал об использовании можно (на русском) или на moz.com (на английском). Давайте попробуем спарсить что-нибудь хорошее с помощью Kimono. Например, дополним созданную нами таблицу с городами списком курортов в стране Города 2. Как это можно реализовать при помощи Kimono Labs. Нам понадобятся:

  • приложение для Google Chrome — Kimono;
  • таблица Google Docs.

1. Находим сайт с необходимой нам информацией — то есть перечнем стран и их курортов. Открываем страницу, откуда необходимо получить данные.

2. Кликаем на иконку Kimono в правом верхнем углу Chrome.

3. Выделяем те части страницы, данные из которых нам необходимо спарсить. Если нужно выделить новый тип данных на той же странице, кликаем на «+» справа от «property 1 » — так указываем Kimono, что эти данные нужно разместить в новом столбце.

4. Кликнув на фигурные скобки <> и выбрав «CSV », можно увидеть, как выбранные данные будут располагаться в таблице.

5. Когда все данные отмечены:

  • кликаем «Done » (в правом верхнем углу);
  • логинимся в Kimono, чтобы привязать API к своему аккаунту;
  • вводим название будущего АРI;
  • кликаем «Create API ».

6. Когда API создано, переходим в таблицу Google, куда хотим загрузить выбранные данные. Выбираем «Connect to Kimono » и кликаем на название нашего API — «Resorts ». Список стран и ссылок на страницы с курортными городами выгружается на отдельный лист.

7. Переходим снова на сайт, берем для примера Ирландию, и снова выбираем через Kimono города, которые необходимо спарсить. Создаем API, называем его «Resorts in countries ».

9. В «Crawl Strategy » выбираем «URLs from source API ». Появляется поле с выпадающим списком всех API. Выбираем созданное нами ранее API «Resorts » и из него автоматически загружается список URL для парсинга. Кликаем синюю кнопку «Start Crawl » (начать обход) и следим за статусом парсинга. Kimono обходит страницы, парсит данные по заданному ранее шаблону и добавляет их в таблицу — то есть делает все то же самое, что и для Ирландии, но уже для всех других стран, что ввели автоматически и без нашего участия.

10. Когда таблица сформирована, синхронизируем Kimono Labs с таблицей Google — точно так же, как делали это в шестом пункте. В результате, в таблице появляется второй лист с данными.

Предположим, хотим, чтобы в таблице отображались все курортные города в стране города прибытия. Данные на листах Kimono обрабатываем с помощью формул для таблиц Google, и выводим в строку список городов, где еще можно отдохнуть в Австралии, кроме Сиднея.

Например, это можно сделать так . Разметить массив данных (список городов), используя логические функции и возвращая значение ячейке, равное TRUE или FALSE. На примере ниже выделили для себя города, которые находятся именно в Австралии:

  • TRUE = город находится в Австралии;
  • FALSE = город находится в другой стране.

По меткам TRUE определяем начало и конец обрабатываемого диапазона, и выводим в строку соответствующие этому диапазону города.

По аналогии можем вывести курортные города и для других стран.

Мы специально привели здесь достаточно простой и пошаговый пример — формулу можно усложнить, например, сделать так, чтобы достаточно было ввести страну в колонку С, а все остальные вычисления и вывод городов в строку происходили автоматически.

Результаты автоматизации

Как говорилось вначале, нам регулярно нужно составлять по 20 однотипных таблиц. Это рутинный процесс, съедающий по 40-50 минут на одну таблицу, и по 16 часов времени на каждые 20 шт. Согласитесь, 2 рабочих дня на одинаковые таблички — необоснованная трата времени. После автоматизации на одну таблицу уходит 5-10 минут, а на 20 — около 2 часов. Таблица имеет 17 ячеек, парсинг производится из 5 источников. Заполнение таблицы происходит автоматически при заполнении всего 2 ячеек с исходными данными.

Настройка и автоматизация парсинга суммарно заняла 30 часов времени, то есть потраченное время «окупится» уже на этапе генерации второй 20-ки таблиц.




Top