Парсинг сайтов ваших конкурентов самостоятельно: от «сделай сам» до «заверните мне ещё один гугл, пожалуйста»

Меня зовут Максим Кульгин, моя компания xmldatafeed занимается парсингом сайтов в России более четырёх лет. Мы подготовили свежий обзор лучших решений для самостоятельного парсинга сайтов: это и программируемые средства с открытым исходным кодом, и плагины для браузеров, и облачные сервисы наших зарубежных конкурентов.

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

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

Чуть отвлекусь — за 2022 год мы получили выручку ~20 млн. рублей за услуги по парсингу данных и если вам интересно узнать детали, то посмотрите мой канал «Русский ИТ бизнес» — там пишу всю «изнанку», с чем сталкиваемся в процессе работы, без приукрашивания и маркетинговой «лапши на ушах».

Выбор подходящего инструмента для парсинга

Рассмотрим вкратце технический процесс чтения веб-страницы и его нюансы.

Сначала загружается HTML-страница вместе со всеми ссылками, подключенными библиотеками и кодом JavaScript. В большинстве случаев содержимое страницы уже доступно на этом этапе: его лишь надо «выдрать» из XML-разметки.

Однако, если требуется иметь дело с сайтом, противодействующим парсингу, или с контентом, формируемым динамически прямо в браузере, то всё несколько усложняется — содержимое находится не в разметке, а пишется (или даже рисуется) на холсте браузера в результате выполнения JavaScript-кода.

Это обязательно надо учитывать при выборе инструмента. В случае динамически формируемого содержимого понадобится браузер с машинным интерфейсом (headless browser).

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

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

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

Не следует забывать и о том, что парсинг — затратное мероприятие. Простые инструменты — да, можно запускать прямо из браузера. Однако в некоторых случаях и быстрее и выгоднее использовать более специализированные средства.

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

Расширения браузера

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

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

Webscraper. io

Web Scraper — расширение для Google Chrome. Позволяет осуществлять парсинг прямо из браузера за счёт использования ресурсов компьютера.

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

Стоимость:

  • бесплатно для парсинга с использованием ресурсов браузера;
  • платно от 50 до 300 долларов в месяц за парсинг с использованием облачного сервиса.

Преимущества:

  • очень хорош в извлечении детализированной информации с веб-страниц определенного типа (например, из нескольких категорий товаров или записей в блоге);
  • удобно работать в Chrome;
  • совершенно бесплатен.

Идеально подходят для:

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

Dataminer. io

Dataminer — удобное расширение для браузеров Google Chrome и Microsoft Edge. Позволяет парсить широкий набор данных из современных веб-страниц и сохранять результат в виде CSV- или XSL-файлов. Данные легко преобразуются в понятные, хорошо структурированные таблицы, а полуавтоматизированный процесс позволяет четко определять какие данные сохранять, а какие отбрасывать.

Dataminer идет с набором уже готовых скриптов/задач в виде «рецептов», разработанных сообществом. То есть для распространенных задач с большой долей вероятности уже есть всё необходимое для сбора нужных данных.

Некоторые из «рецептов» включают парсинг таких сайтов как eBay, Amazon, Alibaba, социальные сети, новостные сайты и тому подобное.

Стоимость:

  • бесплатно до 500 страниц в месяц;
  • платно при масштабном сборе данных.

Преимущества:

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

Идеально подходят для:

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

Стандартные инструменты Google Chrome

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

Если надо проанализировать исходный HTML-код и получить XPath или CSS-селекторы, то стандартный набор разработчиков — самое первое решение, которое придет в голову большинству профессионалов.

Другая полезная команда в средствах Google Chrome для разработчиков — это команда «$x», которая выполняет запросы XPATH внутри консоли браузера. Это прекрасный способ быстро протестировать и отладить запросы XPATH перед целевым использованием.

«$x», кстати, перед нажатием Enter осуществляет предварительную загрузку для совпадающих элементов, что делает работу ещё проще и приятней.

Ну и какой же инструмент без возможности работы с сетевыми запросами? При отладке чаще всего придется воспроизводить и тестировать:

  • заголовки;
  • Cookie-файлы;
  • прочие параметры (например, нагрузку).

Инструменты разработчика Google Chrome позволяют записывать данные, даже если контент загружается по щелчку мыши или по мере прокрутки страницы, а также воспроизводить эти события.

Для этого достаточно перейти на вкладку «Сеть» и установить галочку «Сохранять журнал».

Как только будут правильно подобраны параметры запроса, его можно скопировать и использовать непосредственно, например, в cURL.

curl 'https://xmldatafeed.com/api/v0/reports' -X OPTIONS -H 'Access-Control-Request-Method: POST' -H 'Origin: https://xmldatafeed.com' -H 'Referer: https://xmldatafeed.com/some-article' -H 'Sec-Fetch-Dest: empty' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36' -H 'Access-Control-Request-Headers: content-type,lightstep-access-token' --compressed

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

Например, для использования в Python запрос выше будет переписан так:

import requests headers = { 'Access-Control-Request-Method': 'POST', 'Origin': 'https://xmldatafeed.com', 'Referer': 'https://xmldatafeed.com/some-article', 'Sec-Fetch-Dest': 'empty', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36', 'Access-Control-Request-Headers': 'content-type,lightstep-access-token', } response = requests.options('https://collector-xmldatafeed.com/api/v0/reports', headers=headers)

Стоимость:

  • бесплатно.

Преимущества:

  • инструменты Google Chrome бесплатны и доступны без плясок с VPN;
  • отлично подходят для отладки и создания программируемых парсеров;
  • позволяет легко находить нужные элементы в разметке даже сложных страниц.

Идеально подходят для:

  • программистов и всех, кто занимается парсингом профессионально;
  • тех, кто хорошо знаком с XPATH, селекторами CSS и другими подобными вещами.

Фреймворки с открытым исходным кодом

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

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

Scrapy

Scrapy — бесплатный фреймворк написанный на Python, одном из самых популярных языков программирования. Scrapy годится практически для любой задачи, включая парсинг огромных объемов данных с нескольких веб-сайтов одновременно.

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

Scrapy активно развивается. С некоторых пор доступно Scrapyd — готовое решение для развертывания собственного сервера. Но и это ещё не всё! Теперь есть собственный облачный сервис Scrapy Cloud. Что ещё нужно для построения своей парсинговой инфраструктуры⁈

Поддержкой фреймворка занимается Zyte (ранее ScrapingHub) — известная платформа, имеющая весомую репутацию в мире технологий поисковых роботов.

Стоимость:

  • бесплатен (это, разумеется, не касается сопутствующих инструментов, таких как облачный сервис).

Преимущества:

  • отличная документация, море учебников и видео на YouTube;
  • недорого, даже если задействован облачный сервис;
  • много готовых решений для извлечения данных;
  • интеграция с дополнительными полезными сервисами Zyte;
  • дружелюбное сообщество, всегда готовое помочь.

Идеально подходят для:

  • масштабных проектов;
  • создания собственных парсеров;
  • дальнейшей автоматизированной обработки полученных данных.

Requests

Requests — относительно простая, но элегантная HTTP-библиотека «для людей», написанная на Python. Позволяет легко просматривать веб-страницы и работает как с HTTP GET, так и HTTP POST запросами.

Стоимость:

  • бесплатно.

Преимущества:

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

Идеально подходят для:

  • простых задач.

Selenium

Selenium WebDriver — это библиотека API с открытым исходным кодом, которая часто используется для автоматизированного тестирования интерфейсов веб-приложений.

Будучи браузером с машинным интерфейсом, может «отображать» контент, создаваемый динамически с помощью JavaScript, что делает Selenium невероятно мощным инструментом для чтения сложных веб-сайтов, в том числе противодействующих парсингу.

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

Стоимость:

  • бесплатно.

Преимущества:

  • эффективная платформа для автоматизированного тестирования веб-приложений и построения сложных рабочих процессов;
  • поддерживает множество браузеров, включая Google Chrome и Mozilla Firefox;
  • Selenium Grid — масштабируемое решение для параллельного запуска множества парсирующих ботов.

Идеально подходят для:

  • парсинга страниц, содержимое которых создается «на лету» с помощью JavaScript;
  • автоматизации сложных процессов: заполнения и отправки форм, входа и регистрации, перехвата и осмысливания AJAX-запросов;
  • создания сложных парсеров, которые могут авторизоваться и читать содержимое таких сайтов как LinkedIn, Facebook, Twitter (экстремистские организации, запрещенные в РФ).

Cheerio

Cheerio — «быстрая, гибкая и элегантная библиотека для парсинга HTML и XML-документов».

Инструмент ориентирован на использование JavaScript и представляет собой реализацию jQuery, разработанную специально для использования на стороне сервера.

Интересной особенностью является то, как именно Cheerio работает с деревом DOM (Document Object Model — общепринятый интерфейс, отражающий содержимое веб-страницы). Все недостатки дизайна, все переусложненные особенности, связанные с браузерами — всё убрано. Вместо этого — простой, чистый и понятный API.

Естественно, что такая оптимизация положительно сказывается на скорости: по некоторым тестам выходит 8-ми кратное превосходство над стандартным JSDOM.

Стоимость:

  • бесплатно.

Преимущества:

  • красивый синтаксис, остающийся в jQuery после удаления ненужного и «раздутого» кода;
  • Cheerio невероятно быстрый вследствие обладания простой и последовательной моделью DOM.

Идеально подходят для:

  • извлечения данных со статических страниц HTML;
  • тех, кто предпочитает использовать JavaScript.

Puppeteer

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

Технически Puppeteer — это библиотека Node. js, предоставляющая высокоуровневый API для управления Chrome/Chromium посредством протокола DevTools.

Стоимость:

  • бесплатно.

Преимущества:

  • Поскольку Puppeteer имеет доступ к интерактивному контенту, формирующемуся динамически, то он прекрасно подходит для парсинга одностраничников, написанных на JavaScript-фреймворках;
  • Puppeteer можно использовать для создания предварительно отрисованного контента на стороне сервера;
  • отличное сообщество и помощь разработчиков;
  • поддерживается Google.

Идеально подходят для:

  • тестирования расширений для Google Chrome;
  • автоматизации сложных рабочих процессов, таких как отправка форм, вход на веб-сайты, анализ и воссоздание вызовов AJAX.

Apify SDK

Apify SDK — платформа, которая хорошо подходит для работы со средними и крупными проектами. Поддерживается два языка: JavaScript и Python.

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

Стоимость:

  • бесплатно.

Преимущества:

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

Идеально подходят для:

  • профессионалов, занимающихся парсингом;
  • создания собственных сложных проектов для парсинга.

Heritrix

Heritrix — парсер, созданный организацией Internet Archive для архивирования веб-страниц.

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

Отличительная характеристика — «уважение» файла robots. txt. В статье о «бродячих роботах» мы подробно рассматривали вопрос этики роботов, неотъемлемой частью которой является следование указаниям файла robots. txt.

Стоимость:

  • бесплатно.

Преимущества:

  • специально создан для архивирования;
  • для управления и мониторинга процессами используется REST API;
  • чрезвычайно полезен для доступа к архивным данным, полученным при соблюдении инструкций в robots. txt.

Идеально подходят для:

  • парсинга и архивирования огромных объемов данных;
  • некоммерческого использования при работе с архивной информацией.

Nutch

Nutch — ещё один парсер, созданный для архивирования Интернета. В этом он похож на рассмотренный выше Heritrix.

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

Используется в некоторых некоммерческих проектах, таких как Common Crawl, который ежемесячно парсит петабайты веб-данных.

Nutch написан на Java и основан на таких технологиях, как Lucene, Solr, Tika, Hadoop и Gora, адаптированных для специфики поиска в интернете.

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

Преимущества:

  • очень активное сообщество;
  • модульный, расширяемый, масштабируемый.

Идеально подходят для:

  • архивирования огромных объемов веб-данных;
  • тех, кто хочет создать поисковый робот на Java.

Платные инструменты

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

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

Mozenda

Mozenda — один из лидеров в индустрии парсинга и интеллектуального анализа. Tesla, AMD, CNN, Oracle, Bank of America — треть компаний из списка «Fortune 500» в США — пользуются этим сервисом.

Нужно ли говорить, что это хороший способ сбора и анализа данных? Риторический вопрос.

А вот практический вопрос — вопрос стоимости — не такой однозначный. Стоимость услуг начинается от 250 долларов в месяц за самый непритязательный пакет. А что делать⁈ «Высокоуровневый интеллектуальный анализ данных» — не дешевое удовольствие. Добыча данных тоже.

Несмотря на стоимость, Mozenda интуитивно понятна в использовании, а расширенные пакеты поставляются в комплекте с полезными 8-часовыми обучающими уроками.

Три года назад Mozenda была поглощена более крупной рыбой — Dexi. То есть крупнейшие игроки в мире парсинга перестали быть конкурентами и объединили свои возможности. Несмотря на эти маркетинговые сдвиги, оба сервиса работают и продолжают развиваться.

Стоимость:

  • бесплатный 30-дневный период;
  • начальная стоимость: 250 долларов в месяц.

Преимущества:

  • невероятно шустрый;
  • передовое проработанное ПО (и при этом простое в использовании);
  • интуитивно понятный интерфейс;
  • пользуется доверием ведущих мировых корпораций.

Идеально подходят для:

  • сбор больших объемов коммерческих данных;
  • автоматизация посредством API;
  • отслеживания и сравнения цен с конкурентами.

Octoparse

Octoparse — позволяет «быстро собрать данные без программирования», а затем «за несколько кликов превратить веб-страницу в электронную таблицу».

Octoparse — современный и продвинутый парсер, который подходит для проектов или предприятий практически любого масштаба. Его продуманный интерфейс прост и понятен в использовании, не требует никаких технических знаний в области программирования, а большое сообщество помогает тем, кому не хватает и самых элементарных знаний.

Даже на бесплатном тарифе можно пользоваться готовыми шаблонами для получения данных. Ротация IP-адресов, расширенная автоматизация, возможность перехвата контента, отрисовываемого посредством JavaScript — всё это тоже доступно на бесплатном тарифе.

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

Стоимость:

  • бесплатен до 10 тысяч строк таблиц на экспорт;
  • стандартный тарифный план начинается с 75 долларов в месяц.

Преимущества:

  • продуманный и масштабируемый сервис для парсинга;
  • превосходный интерфейс;
  • бесплатная версия дает щедрые возможности;
  • множество возможностей в расширенных версиях.

Идеально подходят для:

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

ParseHub

ParseHub — «продвинутый парсер, извлекающий данные просто по щелчку мышки».

ParseHub — прост и интуитивно понятен. Не требует программирования, поставляется как хорошо спроектированное и высокофункциональное веб-приложение. Может извлекать данные с сайтов, работающих под управлением AJAX и JavaScript. Обходит логины, быстро перемещается по сложным структурам и даже извлекает изображения и картографические данные.

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

Данные, разумеется, можно сохранять в любом популярном формате — CSV, JSON, Excel или использовать API для обработки в соответствии с собственными алгоритмами.

Это впечатляющее приложение. Бесплатная версия отличается щедростью, предоставляя 200 страниц собранных данных за 40 минут.

Стоимость:

  • бесплатно для 200 страниц за один 40-минутный запуск;
  • стандартный тарифный план начинается со 150 долларов в месяц.

Преимущества:

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

Идеально подходят для:

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

Dexi

Dexi «превращает любой веб-сайт в данные, которые помогают брендам, торговым площадкам и организациям увеличивать продажи, оптимизировать цены, улучшать доступность и ассортимент».

Dexi, поглотивший Mozenda — ещё один из мировых лидеров в индустрии сбора данных. Microsoft, Samsung, HP, Vodafone пользуются этим сервисом.

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

Боты разных типов («обходчики», «извлекатели» и так далее) с одной стороны работают на разных уровнях, с другой — активно взаимодействуют между собой, что позволяет находить и отдавать данные со скоростью, недоступной для конкурентов.

Разумеется, поддерживаются все возможные форматы, базы данных, предоставляется API.

Стоимость:

  • можно попробовать бесплатно;
  • стандартный план начинается со 120 долларов в месяц.

Преимущества:

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

Идеально подходят для:

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

ProWebScraper

ProWebScraper — ещё одно хорошее решение в стиле «парсинг без кодирования».

Функции в стиле «только кликни мышкой» превращают добычу данных в простое упражнение на внимательность. С таким подходом, между прочим, ProWebScraper прекрасно справляется примерно с 90% сайтов.

Все причитающиеся в таких случаях возможности — ротация IP-адресов, распознавание таблиц и сложных структур — имеются и работают без нареканий.

Уникальное предложение — бесплатная настройка парсера экспертами сервиса.

Стоимость:

  • бесплатно до 200 страниц за один запуск;
  • стандартный тарифный план — 150 долларов в месяц.

Преимущества:

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

Идеально подходят для:

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

Заключение

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

Очевидно, что индивидуальный выбор будет зависеть от многих факторов:

  • технической подготовленности;
  • навыков программирования;
  • наличия свободного времени на эксперименты;
  • финансовых возможностей.

Свободное время на эксперименты — фактор, который недооценивается многими, особенно теми, кто думает, что «инструменты решают всё».

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

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

В реальной жизни всё намного сложнее.

Одному клиенту пришлось отказать: слишком дорого выходило получать данные с iHerb в нужных объемах. И это при том, что мы занимаемся парсингом более четырёх лет и накопили большой опыт по обходу запретов.

Изощренность противодействия сбору данных растет и растет. И несмотря ни на что парсинг необходим: он несёт важную миссию — помогает бизнесу выживать в высококонкурентном мире и зарабатывать больше — а значит, в конечном итоге, и экономить простым людям (понимаю, что это звучит слегка "натянуто", но парсинг — законен).

Что ж, мы рассмотрели инструменты исключительно с технической точки зрения и не затронули этическую составляющую. А вы можете дополнить статью своими мыслями в комментариях.

0
22 комментария
Написать комментарий...
Дмитрий Кузнецов

Из расширений отметил бы еще Instant Data Scraper. Оно само распознает повторяющиеся на странице элементы и собирает их в табличку. Не всегда корректно, но для простых задач мегаудобно.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Максим Кульгин
Автор

Ага!

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Антон

А для парсинга Авито можно использовать eshmakar.ru - первую страницу парсит бесплатно

Ответить
Развернуть ветку
Павел Шкутко

Я то думаю, как зловред научился js challeng cloudflary обходить, а потом понял, что айпи меняется, а юзерагент статичен, так он эту приблуду с расширением браузера использует. Ну благо дело ума или технических возможностей поменять юзерагент у него не хватает, уже месяц как пытается спарсить сайт-миллионик. Не окупиться у него это дело, ох не окупиться :)

Ответить
Развернуть ветку
Максим Кульгин
Автор

А что за зловред?

Ответить
Развернуть ветку
Павел Шкутко

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Павел Шкутко

Ну я и не знаю. Я в технологиях не силен. У меня стоит js challeng на сетки грязных айпи. Гляжу пошел траф с этих айпишников, парсил безбожно. То есть обходит js проверку, вероятно это вот один из этих плагинов для хрома. Я ставлю блок его по юзерагенту+айпи. Таким образом вырезаю его и единичных пользователей, которым не повезло иметь такую же связку. Он мне новую порцию айпишников, я их опять в блок. Ну сейчас даже интересно почем ему обходятся по цене эти пачки айпи, потом что мне их блокнуть два щелчка мыши. И это при том, что я настройках серверов и вообще всей этой админской мутотени не силен. Спасибо сеошникам с вс.ру, научили как клаудфларе можно для защиты от ботов использовать. Вот теперь стараюсь особо борзых парсеров и ботов блочить. Для моего уровня хватает. Где вручную блокну, где автоматом поддерживается. Плюс накопил уже всякой грязи по айпи и сеткам пока атаки отражал.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Павел Шкутко

Я бы такой работой не занимался, но приходится. Тем более сейчас такие сервисы появились, что можно защищаться в полуавтоматическом режиме. Да ещё и бесплатно

Ответить
Развернуть ветку
PriceLoom.com

С полгода наверно как, у меня в Яндекс метрике, посещаемость сайта увеличилась раз в 10. Причем теперь процентов 90 это прямые заходы. Парсят же меня получается?

Ответить
Развернуть ветку
Павел Шкутко

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Павел Шкутко

Яндекс сейчас приводит на сайт от силы 30% всего поискового трафика, все остальное это накруточный спам. В Гугле живого трафика в 2 раза больше, потому что он проблему нанруток с большего решил

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Павел Шкутко

В основном это использовал как базу https://vc.ru/359664 далее мануал от Ивана Зимина, ссылку не подскажу, надо искать.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Миша

Чем парсинг от граббинга отличается?

Ответить
Развернуть ветку
Fineproxy.de

Максим, спасибо за статью!

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

Хотелось бы узнать твоё мнение о разных типах прокси для разных задач для парсинга. Например, для каких целей/задач лучше использовать датацентровские прокси, для каких мобильные или резидентские. И вот ещё недавно появился мутант - ISP прокси - этакий микс между резидентскими и ДЦ прокси. Т.е. айпишки зареганы на провайдера домашнего интернета, но софт хостится в датацентрах и всё это юзается исключительно как прокси в том числе для парсинга.

Ответить
Развернуть ветку
19 комментариев
Раскрывать всегда