Практический ответ на ваш вопрос: вы не хотите этого делать.
Позвольте мне попытаться ответить на него, и тогда вы поймете, почему вы не хотите:
Как мне программно разобрать сайт?
Это сложно. Практически в каждом браузере есть возможность щелкнуть правой кнопкой мыши и «просмотреть исходный код». Предположительно здесь находятся нужные вам числа; вы можете проанализировать этот текст, чтобы найти их. Это НЕ просто. У вас, вероятно, возникнет соблазн использовать что-то вроде регулярного выражения или простой трюк «найди мне эту точную строку текста», чтобы найти то, что вам нужно. Это может сработать. Но, как правило, это означает, что в тот день, когда этот сайт изменит стиль или просто сделает некоторые базовые c обновления, ваш код перестанет работать.
Вам нужно будет каждый день проверять свою повестку дня, если вы должны, если ваш код все еще работает. Это 5 минут вашего дня каждый день до конца жизни этого проекта. Это звучит невероятно дорого, поэтому вам не нужно это .
Если необходимо, есть способы ужесточить код синтаксического анализа. Если вы используете такие библиотеки, как jsoup , это немного помогает. Если вы пропустите весь сайт через «эмулятор браузера», вы сможете справиться с javascript запросами ajax и т.п. (в наши дни веб-сайты похожи на маленькие программы, и чтобы действительно программно наблюдать то, что сайт показывает человеческим глазам, вам нужно запустить эту программу, чтобы выполнить работу. Если вам очень повезет, вы можете проверить «исходный код» маленькой программы, и это все, что вам нужно, но вам не всегда везет).
Но, как я уже сказал, это помогает немного . Придет день, когда погодный канал изменит свой сайт и сломает ваш код. Они этого не объявят. Это не считается аморальным или технически сомнительным. Возможно, вы можете обновить свой план, чтобы проверить, работает ли ваш код до одного раза в неделю, а не ежедневно, но это будет постоянное бремя обслуживания. ЭТО НЕ ХОЧЕШЬ .
Хорошо, забудьте об этом. Как это на самом деле работает?
Сайты, которые позволяют вам читать эти материалы, имеют API. Они где-нибудь это задокументируют. Это «веб-сайт», созданный специально для кода. У него нет форматирования и четко определенная спецификация. Отправьте ему эту конкретную c простую строку, и появится этот конкретный c простой ответ, и на сайте есть инструменты, чтобы вы знали, когда они его изменяют (например, «версия API») - все, что сайт имел в виду для потребления человеком не придется.
Вам повезло. Канал погоды имеет API .
Что вам действительно нужно, так это прочитать все это, выяснить, как работает этот API, и использовать его.
API будет не ломаться, когда погодный канал решает, что сегодня хороший день, чтобы немного изменить оттенок фонового изображения.