Парсим данные с GisMeteo в bash

Thank you for reading this post, don't forget to subscribe!

Глав­ная зада­ча это­го скрип­та — выво­дить в кон­соль инфор­ма­цию о пого­де в тек­сто­вом режи­ме. Чем этот скрипт может быть еще поле­зен? Тем что резуль­тат его рабо­ты мож­но исполь­зо­вать для отправ­ки себе в каче­стве SMS, по элек­трон­ной почте или исполь­зо­вать для отоб­ра­же­ния на рабо­чем сто­ле при помо­щи conky.

Для настрой­ки скрип­та потре­бу­ет­ся адрес стра­ни­цы, на кото­рой нахо­дят­ся дан­ные о пого­де в соот­вет­ству­ю­щем горо­де. напри­мер Санкт-Петер­бург. Вы може­те свой URL най­ти про­сто ско­пи­ро­вав из бра­у­зе­ра адрес стра­ни­цы и вста­вив его в скрипт.

Если не совсем понят­но, немно­го пояс­ню, что про­ис­хо­дит. Ска­чи­ва­ем curl’ом стра­нич­ку, выво­дим ее в стан­дарт­ный потов выво­да, а ошиб­ки в /dev/null. Затем уда­ля­ем все ненуж­ные стро­ки, остав­ля­ем толь­ко те, кото­рые содер­жат­ся меж­ду стро­кой с под­стро­кой «section higher» и «мм рт. ст.» вклю­чи­тель­но. Таким обра­зом уда­лит­ся инфор­ма­ция о тем­пе­ра­ту­ре воды, но это в моем слу­чае не страш­но, пото­му что Питер не самый курорт­ный город, и о влаж­но­сти воз­ду­ха, что тоже не страш­но, пото­му что влаж­ность обыч­но не самая низ­кая. Затем из остав­ших­ся строк сно­ва уда­ля­ем ненуж­ные, доста­ем назва­ние горо­да, состо­я­ние атмо­сфе­ры (ясно, пас­мур­но, облач­но), тем­пе­ра­ту­ру воз­ду­ха, ско­рость вет­ра и атмо­сфер­ное давление.

И, соб­ствен­но, всё. После запус­ка скрип­та полу­ча­ем такой вот вывод: