Автоматический парсинг веб-страниц в облаке, бесплатно
Описание
У местных властей есть веб-сайт, на котором отображаются общественные камеры наблюдения. После нескольких дней экспериментов мне стало интересно узнать, сколько точек находится на этих камерах. Открыв консоль разработчика и использовав некоторые команды XPATH, я получил число. На этом этапе я был доволен.
Однако, спустя несколько дней, когда я запустил те же команды XPATH, я получил другие результаты - большее число. Через несколько недель число продолжало расти. Тогда я понял, что власти продолжают добавлять новые точки. Это вызвало у меня любопытство. Моя предпосылка была проста: если они продолжают добавлять точки, возможно, они также удаляют некоторые. Я хочу знать, когда и что добавляется или удаляется.
Предпосылка для парсинга была проста: я хотел узнать, когда и где добавляются или удаляются точки видеонаблюдения.
Выполнение
Поскольку нет готового VPS, для этой настройки я решил использовать GCP. В некотором смысле это также служило процессом обучения. У меня было желание проверить, что предлагает GCP. Последний раз я играл с ними лет так пять назад. Тогда у них не было PHP. Однако, я выбрал Python для этого упражнения, в частности, потому что моя команда также работает над проектами на Python. Я хотел бы освежить свои навыки.
Вот объяснение.
Сколько это стоит?
Я не пытаюсь создать кликбейтовый пост, когда я написал "Бесплатно" в заголовке выше. Потому что я не заплатил ни одного цента Google. Проверьте этот подробный расчет стоимости в качестве доказательства.
Как видно, все расходы находятся в пределах бесплатного уровня/квоты бесплатного использования, и самая большая стоимость была за Google Maps, которую я объясню ниже, поскольку ее не следует учитывать в процессе парсинга. Однако использование Google Maps все еще находится в пределах квоты бесплатного уровня.
Немедленное использование
Теперь, когда у меня есть данные, первое, что я могу сделать, это построить точки CCTV на карте, так как на оригинальном веб-сайте они перечислены только в виде списка. Трудно визуализировать, где есть покрытие и где его нет.
Интересный факт: Рядом с моим районом есть мост, который довольно часто подвержен преступности, особенно ночью. После просмотра сгенерированных карт я увидел, что на этом мосту установлены 3 точки CCTV: одна направлена внутрь, а две - на обоих концах, направленные наружу. Молодцы!
Заключение
Это было отличное упражнение и очень познавательное для меня. Я также готовлю другую статью, которая будет содержать пошаговую инструкцию, которую можно будет следовать, так как то, что я делаю здесь, является достаточно изолированной проблемой, и я не думаю, что разумно делиться кодами. Возможно, я что-то упустил в этой статье. Так что, если у вас есть вопрос(ы), не стесняйтесь задавать его(их) здесь или в Twitter @ariefbayu.