ГлавнаяСтатьи и советы → Что такое Веб-скрапинг?
Статьи и советы

Что такое Веб-скрапинг?

Что такое Веб-скрапинг?
В широком понимании веб-скрапинг — это сбор данных с различных интернет-ресурсов. Общий принцип его работы можно объяснить следующим образом: некий автоматизированный код выполняет GET-запросы на целевой сайт и получая ответ, парсит HTML-документ, ищет данные и преобразует их в заданный формат.

Существует масса решений для скрпаинга веб-сайтов. Среди них:
  • Отдельные сервисы, которые работают через API или имеют веб-интерфейс (Embedly, DiffBot и др.).
  • Проекты с открытым кодом, на разных языках программирования (Goose, Scrapy — Python; Goutte — PHP; Readability, Morph — Ruby ).
Почему не существует идеального скрапера не существует. Почему
  1. Ни один сайт не имеет идеальной верстки с точки зрения догматов веб-дизайна. Именно это делает каждый сайт уникальным и привлекательным для пользователей.
  2. Каждый веб-разрабочик (если он не работает в солидной IT компании со своими правилами и стайл гайдами) пишет код под себя или просто, как умеет. Далеко не всегда код получается грамотным и качественным. Зачастую в нем можно найти огромное количество ошибок. В том числе грамматических. Все это делает “самописный” код абсолютно нечитаемым для скраперов (речь, в первую очередь, идет о верстке).
  3. Масса веб-ресурсов использует HTML5, где каждый элемент может быть абсолютно уникальным.
  4. Некоторые ресурсы содержат разнообразные защиты от копирования данных, а значит и от скрапинга. Это выражается в многоуровневой верстке, использовании jаvascript для рендеринга контента, проверки user-agent и т.д.
  5. В зависимости от сезона или тематики целевого материала на сайте могут быть использованы разные макеты. Периодически это касается даже типичных страниц (сезонные акции, премиум статьи и т.д.).
  6. Кроме полезных блоков, веб-страница часто изобилует “мусором” в виде рекламы, комментариев, дополнительных элементов навигации и т.д.
  7. Исходный код может содержать ссылки на одни и те же картинки разных размеров, например — для превью.
  8. Сайт может определить страну, в которой находится ваш сервер и отдать информацию не на английском языке.
  9. У всех сайтов может быть разная кодировка, которая не отдается в ответе на запрос.
Добавить комментарий
Кликните на изображение чтобы обновить код, если он неразборчив