Перед тем как перейти к сути немного матчасти!
Что такое парсинг?
Парсинг сайтов – последовательный синтаксический анализ информации, размещённой на интернет-страницах. Что представляет из себя текст интернет-страниц? Иерархичный набор данных, структурированный с помощью человеческих и компьютерных языков. На человеческом языке предоставлена информация, знания, ради которых, собственно, люди и пользуются Интернетом.
Зачем нужен парсинг?
Создавая веб-сайт, его владелец неизбежно сталкивается с проблемой – где брать контент? Оптимальный вариант: найти информацию там где её очень много – в Интернете. Но при этом приходится решать такие задачи:
Большие объёмы. В эпоху бурного роста Сети и жесточайшей конкуренции уже всем ясно, что успешный веб-проект немыслим без размещения большого количества информации на сайте. Современные темпы жизни приводят к тому, что контента должно быть не просто много, а очень много, в количествах, намного превышающих пределы, возможные при ручном заполнении.
Частое обновление. Обслуживание огромного потока динамично меняющейся информации не в силах обеспечить один человек или даже слаженная команда операторов. Порой информация изменяется ежеминутно и в ручном режиме обновлять её вряд ли целесообразно.
По сравнению с человеком, компьютерная программа-парсер:
быстро обойдёт тысячи веб-страниц;
аккуратно отделит техническую информацию от «человеческой»;
безошибочно отберёт нужное и отбросит лишнее;
эффективно упакует конечные данные в необходимом виде.
Результат (будь то база данных или электронная таблица), конечно же, нуждается в дальнейшей обработке. Впрочем, последующие манипуляции с собранной информацией уже к теме парсинга не относятся.
Экспорт данных
Материал, полученный из распарсенного сайта, необходимо упаковать в виде, пригодном для дальнейшего использования. Конкретный формат зависит от того как в дальнейшем будет обрабатываться собранная информация.
Avito
Теперь о важном. Мне была поставлена задача получать данные из определенного раздела , доски объявлений , обработка этих объявлений и синхронизация данных с сайтом клиента Sitebill.
Проект на данный момент охватывает 6 городов , и собирает актуальную информацию по аренде недвижимости, собирает полную информацию по объявлению, телефон , фото , делает обрезку фото , и постит уже обработанную информацию на сайт клиента. Все работает на запросах , поэтому скорость высокая, на момент написания статьи скрипт на 1 город (2 категории) сверял 1500+ объектов, на актуальность и скорость работы составляла порядка 2,5 минут
Это при условии что работа производилась в 1 поток и в процессе парсинга происходит обработка контента и постинг на сайт клиента, без прокси , если использовать прокси , то скорость увеличивается пропорционально количеству прокси.
Проект на 6 городов по 2 категории каждый и на 15000+ объектов работает порядка 25 минут. Но как я выше писал если критична скорость то можно использовать прокси , для ускорения
Сама синхронизация происходит практически мгновенно так как вся работа идет напрямую с базой сайта. Неактуальные объявления удаляются (это пожелание клиента ) , на другом проекте объявления архивируются. В принципе всё гибко настраивается под потребности клиента.
Сейчас в разработке еще 2 проекта по недвижимости это Юла и Домофонд. Хотя можно обработать любой сайт!
Если вам необходим такого рода проект обращайтесь в телеграмм.
Если ссылка не работает, ищите в телеграме по нику AzaniR