Я довольно новичок в RegEx (и Python) в целом и пытаюсь использовать его для чтения температуры и описания погоды через HTML-теги веб-сайта.
Я попытался переделатьпримеры того, что я показывал в классе и читал в Интернете, чтобы сделать это.
url = 'https://weather.com/en-AU/weather/today/l/-27.47,153.02'
contents = urllib.request.urlopen(url).read().decode("utf-8")
start_of_div = contents.find('<div class="today_nowcard-phrase">') # start of phrase line
end_of_div = start_of_div + contents[start_of_div:].find("</div>") + 6 # close of phrase line
phrase_area = contents[start_of_div:end_of_div]
print(phrase_area)
phrase = phrase_area.rfind(r'>(.*)<') # regex tester says this works
print(phrase)
Затем есть другой раздел, который получает градусы, использующие тот же тип макета.Следует напечатать фразу типа «Солнечный» или «Легкий дождь» или любой другой погоды, а также текущие градусы (градусы Цельсия).Вместо этого он печатает:
<div class="today_nowcard-phrase">Sunny</div>
- 1
<div class="today_nowcard-temp"><span class="">21<sup>
- 1
Вместо -1 это должны быть «Солнечные» и «21» (на тот момент).RegEx работает, когда я помещаю его на сайты тестирования RegEx, но не в моей реальной программе (возможно, из-за какой-то очевидной ошибки, которую я не вижу).Любая помощь будет оценена.