Зачем нужны парсеры
medium

Зачем нужны парсеры

И как стащить с сайта что угодно.

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

Вы могли бы дать задание своим лаборантам: «Ходите по этим сайтам и собирайте с них копипастом нужные данные». Не самый элегантный способ, но рабочий.

А можно вместо лаборантов посадить за это дело скрипт: он будет работать намного быстрее, а данных соберёт намного больше. Главное — обучить его правильному парсингу.

Что за парсинг

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

Парсер — это программа, которая занимается парсингом по определённым правилам. На вход она получает данные или направление для поиска, и она среди них находит нужное и оформляет это, как нам надо.

Что можно парсить

Вытаскивать со страниц и собирать можно всё, что есть в интернете:

  • каталоги товаров,
  • данные из соцсетей,
  • вакансии на досках объявлений,
  • информацию конкурентов,
  • ссылки на документацию.

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

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

Идеи для парсинга

Телеграм-бот, который каждое утро присылает вам прогноз погоды. Для этого он идёт на погодный сайт и парсит с него нужные данные.

Следильщик за ценой товара на сайте. Настраиваете его каждый день ходить на нужный сайт и смотреть, как меняется цена. Как только цена упадёт до нужного вам показателя, вам приходит уведомление.

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

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

Что дальше

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

Обложка:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Маша Климентьева

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

Но это не точно.

Лучшие языки программирования для старта в 2020 году

Что выбрать, если хочешь стать программистом в этом году.

easy
Как устроен и зачем нужен квантовый компьютер

Это прорыв в технологиях или очередной биткоин?

medium
Что такое Lisp

Старый, но до сих пор нужный язык программирования

easy
Большой разбор: как ИИ играет в змейку

Современные технологии против игры прошлого века.

medium
Прокачиваем навыки CSS: GRID

Таблицы на максималках.

easy
8 фраз, от которых нужно отказаться программисту

Ни слова больше

hard
Что такое Swagger и как он облегчает работу с API

Превращаем абстрактное описание в наглядное представление

hard
Что такое скринридер и кому он нужен

Программа, которая позволяет слабовидящим работать с компьютером

easy
medium
[anycomment]
Exit mobile version