Парсер. Получение информации с сайтов | Статья в журнале «Юный ученый»

Отправьте статью сегодня! Журнал выйдет 26 октября, печатный экземпляр отправим 30 октября.

Опубликовать статью в журнале

Автор:

Научный руководитель:

Высокая практическая значимость Актуальная тема исследования

Рубрика: Информатика

Опубликовано в Юный учёный №3 (66) март 2023 г.

Дата публикации: 22.02.2023

Статья просмотрена: 109 раз

Библиографическое описание:

Захаренко, С. П. Парсер. Получение информации с сайтов / С. П. Захаренко, К. А. Гарамов. — Текст : непосредственный // Юный ученый. — 2023. — № 3 (66). — С. 97-100. — URL: https://moluch.ru/young/archive/66/3490/ (дата обращения: 17.10.2024).



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

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

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

Задачи:

  1. Узнать новую информацию о парсинге.
  2. Создать свой парсер на языке программирования Python.
  3. Написать код, учитывая все нюансы.
  4. Сделать выводы после окончания работы.

Парсинг в XXI веке

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

Как работает программа парсера :

  1. Поиск нужных источников по заданным данным.
  2. Извлечение нужной информации.
  3. Переделывание полученных данных в удобный нам формат.
  4. Сохранение информации в нужном виде.

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

Пример его использования: Сбор новостей. Для организованной подачи новостей новостные агентства используют парсеры. Они собирают всю обновлённую информацию и отправляют сотрудникам.

Создание парсера

Прежде всего надо выбрать сайт, с которого мы будем собирать информацию.

Я решил выбрать обычный сайт с фильмами The-cinema.in.

Начало создание кода

Загрузка библиотек

Я решил использовать самые популярные библиотеки для создания парсера: request и BeautifulSoup.

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

2. Написание кода

После этого создадим основную функцию, на вход передаём адрес страницы нашего сайта, а на выходе получим список с объектами класса film.

Создадим список для хранения в нём наших объектов. Отправим get запрос нашему сайту, а полученный результат положим в переменную response. Затем определяем объект класса BeautifulSoup, 1-м аргументом мы передаём текст нашего ответа, а 2-м мы передаём строку- в каком формате наш текст передаётся. Дальше можно начать искать в объекте BeautifulSoup объекты HTML.

Для этого открываем наш сайт. Выбираем параметр table -—в нём есть вся интересующая нас информация.

Далее идём в наш проект и вызываем у объекта BeautifulSoup метод find.

В ходе проекта получим все объекты div, которые входят в table при помощи функции find_all. Итерируемся по каждому блоку cards. Далее ищем параметр h2 с названием класса heading.

Следующим шагом получим постер нашего фильма.

Получим основную информацию о фильме, она лежит в параметре strong.

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

Остался последний этап. Помещаем все наши полученные данные в dataclass и получившийся объект добавляем в конец списка.

Всё вместе это выглядит так:

Для работы скрипта установим точку запуска.

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

Импортируем библиотеку random.

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

Вывод всего выглядит так:

Заключение

Эта статья была посвящена знакомству с отдельной область программирования — парсингу. У этого вида программирования много подводных камней. Самое интересное, конечно же, парсинг в Python. Благодаря обучению я освоил некоторые основы для создания собственной системы парсинга, а затем мне удалось создать свой стабильный и работающий парсер. Конечно при создании было много проблем. Сложность алгоритма в том, что он не только работает, но и читается.

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



Похожие статьи

Механизмы работы нейронных сетей

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

Способы классификации движущихся объектов на видео

В данной статье мы рассмотрим область машинного зрения, связанную с распознаванием объектов (трекингом). Рассмотрим область применения трекинга. Опишем основные принципы и подходы к распознаванию объектов. Также рассмотрим проблемы, связанные с треки...

Инжиниринг трафика в программно определяемых сетях

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

Что такое эффект дохода и эффект замещения в экономике

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

Использование кейс-технологии на уроках физики

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

Разработка и отладка программного обеспечения для подавления артефактов в электрокардиограмме

В данной статье описана спроектированная программа, представляющая виртуальную программу для подавления артефактов в электрокардиограмме, написанная в среде Mathcad. Так же был построен график спектральной области, по которому можно найти оптимальное...

Разработка системы мониторинга нагружённого веб-ресурса

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

К вопросу о безопасности облачных технологий в информационной среде

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

Использование метода обратных операторов для синтеза систем наблюдения, контроля и управления

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

Когда прекращать тестирование программ? Критерии работоспособности программ. Эвристики тестирования

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

Похожие статьи

Механизмы работы нейронных сетей

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

Способы классификации движущихся объектов на видео

В данной статье мы рассмотрим область машинного зрения, связанную с распознаванием объектов (трекингом). Рассмотрим область применения трекинга. Опишем основные принципы и подходы к распознаванию объектов. Также рассмотрим проблемы, связанные с треки...

Инжиниринг трафика в программно определяемых сетях

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

Что такое эффект дохода и эффект замещения в экономике

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

Использование кейс-технологии на уроках физики

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

Разработка и отладка программного обеспечения для подавления артефактов в электрокардиограмме

В данной статье описана спроектированная программа, представляющая виртуальную программу для подавления артефактов в электрокардиограмме, написанная в среде Mathcad. Так же был построен график спектральной области, по которому можно найти оптимальное...

Разработка системы мониторинга нагружённого веб-ресурса

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

К вопросу о безопасности облачных технологий в информационной среде

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

Использование метода обратных операторов для синтеза систем наблюдения, контроля и управления

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

Когда прекращать тестирование программ? Критерии работоспособности программ. Эвристики тестирования

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

Задать вопрос