Что ж, альтернативные способы получения отдельных сведений о капитале можно использовать с помощью функции и передать в качестве аргумента имя капитала в качестве аргумента.
from bs4 import BeautifulSoup
import requests
def getcapitalweather(soup,scapital):
scap = soup.select_one('div.capital:contains({})'.format(scapital))
capital=scap.find('h3').text
tempnow=scap.find('p',class_='now').text.strip()
wind=scap.find('p',class_='wind').text.strip()
minmax=scap.find('p',class_='minmax').text.strip()
preci=scap.find('p',class_='precis').text.strip()
rain=scap.find('p',class_='rain').text.strip()
return capital,tempnow,wind,minmax,preci,rain
url = "http://www.bom.gov.au/"
page = requests.get(url,verify=False)
soup = BeautifulSoup(page.text, 'html.parser')
print(getcapitalweather(soup,"Sydney"))
print(getcapitalweather(soup,"Melbourne"))
Вывод :
('Sydney', 'Now23.1°', 'NE 9km/h', '22°\xa025°', 'Shower or two.', '0.2mm rain since 9am in Sydney.')
('Melbourne', 'Now16.5°', 'S 11km/h', '13°\xa027°', 'Partly cloudy. Late smoke haze.', '0.0mm rain since 9am in Melbourne.')