Парсинг заголовков объявлений

Парсинг заголовков объявлений

Доброго времени суток, уважаемое DTF-сообщество!

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

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

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

Первый урок будет посвящен парсингу простых заголовков объявлений с html-страницы агро-ресурса.

Подключение необходимых библиотек

Для этого, нам понадобится.

1. Язык программирования Python

2. Модули Python:

– requests (для упрощенной работы с HTTP-запросами)

– BeautifulSoup (анализирует HTML и XML, создает дерево разбора для проанализированных страниц, что далее позволяет извлекать данные из HTML)

– пакет xml (модуль обработки xml)

Переходим к установке библиотек.

Для удобного написания кода на Python, буду использовать IDE ( это программное приложение, которое помогает программистам эффективно разрабатывать программный код. Оно повышает производительность разработчиков, объединяя такие возможности, как редактирование, создание, тестирование и упаковка программного обеспечения в простом для использования приложении.) под названием PyCharm.

1. Открываю PyCharm и перехожу во вкладку “Terminal”. Устанавливаем библиотеку requests командой “pip install requests”

Парсинг заголовков объявлений

2. Устанавливаем библиотеку BeautifulSoup командой “pip install BeautifulSoup”

Парсинг заголовков объявлений

3. Устанавливаем пакет xml

Парсинг заголовков объявлений

Отлично. Все необходимые библиотеки установлены, можем начинать.

Определяемся с целью парсинга

Моей сегодняшней целью является одно из названий объявлений на сайте АгроМер.

Парсинг заголовков объявлений

Пишем код

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

Парсинг заголовков объявлений

Дополнительно разбираемся с кодом

Как видим, получилось вывести заголовок “Подсолнечный шрот”. Опять же, для понимания, прошу обратить внимание на строку № 8.Нужно понять, почему именно мы ведем обращение по тегу “div” и классу “product-card__name”.Открывем код страницы, наведя курсор мыши на заголовок “Подсолнечный шрот” и нажав “Inspect”, на русском это будет команда браузера “просмотреть код”

Парсинг заголовков объявлений

Как видим, искомому нами заголовку “Подсолнечный шрот” соответствует именно тег div и класс product-card__name”, и именно метод “find” (строка кода №8) позволяет найти на странице необходимые нам элементы HTML-страницы.

Парсинг заголовков объявлений

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

Мой канал в телеграмм

Если мануал показался вам интересным, то буду благодарен за подписку на мой

канал IT-старт t.me/it_begin

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

Также публикую обзоры книг и интервью на моём сайте https://russia-it.ru

99
2 комментария

Очень всё куцо и неподробно - спешил куда? Какой код в остальных двух файлах находится? Как выполняется этот код - постоянно на фоне или при запуске файла?

4

Зачем это здесь? Зачем примеры уровня "Hello! world"? Парсят как правило не заголовки. В реальных задачах есть множество нюансов. А вообще стоит начать с регулярных выражений. Часто по ним приходится вычленять нужный контент, который не всегда в виде текста. Ну и знать хотя бы основные meta, через низ удобней получать цены.

1