CoderCastrov logo
CoderCastrov
Google Cloud Platform

Автоматический парсинг веб-страниц в облаке, бесплатно

Автоматический парсинг веб-страниц в облаке, бесплатно
просмотров
2 мин чтение
#Google Cloud Platform

Описание

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

Однако, спустя несколько дней, когда я запустил те же команды XPATH, я получил другие результаты - большее число. Через несколько недель число продолжало расти. Тогда я понял, что власти продолжают добавлять новые точки. Это вызвало у меня любопытство. Моя предпосылка была проста: если они продолжают добавлять точки, возможно, они также удаляют некоторые. Я хочу знать, когда и что добавляется или удаляется.

Предпосылка для парсинга была проста: я хотел узнать, когда и где добавляются или удаляются точки видеонаблюдения.

Выполнение

Поскольку нет готового VPS, для этой настройки я решил использовать GCP. В некотором смысле это также служило процессом обучения. У меня было желание проверить, что предлагает GCP. Последний раз я играл с ними лет так пять назад. Тогда у них не было PHP. Однако, я выбрал Python для этого упражнения, в частности, потому что моя команда также работает над проектами на Python. Я хотел бы освежить свои навыки.

Как я настроил парсер

Вот объяснение.

Теперь я могу спокойно спать, зная, что завтра утром у меня будет последний список активных точек CCTV 😂

Сколько это стоит?

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

One month of scraping process

Как видно, все расходы находятся в пределах бесплатного уровня/квоты бесплатного использования, и самая большая стоимость была за Google Maps, которую я объясню ниже, поскольку ее не следует учитывать в процессе парсинга. Однако использование Google Maps все еще находится в пределах квоты бесплатного уровня.

Немедленное использование

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

Want access to this Map result? Sorry, no chance. I‘m not ready to spend money for Google Maps usage✌

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

Заключение

Это было отличное упражнение и очень познавательное для меня. Я также готовлю другую статью, которая будет содержать пошаговую инструкцию, которую можно будет следовать, так как то, что я делаю здесь, является достаточно изолированной проблемой, и я не думаю, что разумно делиться кодами. Возможно, я что-то упустил в этой статье. Так что, если у вас есть вопрос(ы), не стесняйтесь задавать его(их) здесь или в Twitter @ariefbayu.