Я пытаюсь очистить данные отчета о погоде для определенного региона, используя BeautifulSoup4 в Python. Вот мой код:
from bs4 import BeautifulSoup
import requests
import os
import sys
url = 'https://www.accuweather.com/en/in/guwahati/186893/weather-forecast/186893'
agent = {"User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'}
page = requests.get(url, headers=agent)
soup = BeautifulSoup(page.content, 'lxml') #= bs4 element
#print(soup.prettify())
#alldata is a tag of bs4 element
alldata = soup.find_all(class_='day-panel')
#This will give us all the required data we just need to arrange it nicely
datas = []
for h in alldata:
datas.append(h.text.strip())
print(datas)
print(datas[0])
Первый оператор печати, отображающий вывод в виде:
['Current Weather\n\t\n\n\t\t11:55 PM\n\t\n\n\n\n\t\t\t22°\n\t\t\n\n\t\t\t\tC\n\t\t\t\n\n\n\t\tRealFeel®\n\t\t20°\n\t\n\n\t\tPartly cloudy', 'Today\n\t\n\n\t\t3/31\n\t\n\n\n\n\t\t\t34°\n\t\t\n\n\t\t\t\tHi\n\t\t\t\n\n\n\t\tRealFeel®\n\t\t36°\n\t\n\n\t\tVery warm with hazy sunshine', 'Tonight\n\t\n\n\t\t3/31\n\t\n\n\n\n\t\t\t16°\n\t\t\n\n\t\t\t\tLo\n\t\t\t\n\n\n\t\tRealFeel®\n\t\t16°\n\t\n\n\t\tPatchy clouds', 'Tomorrow\n\t\n\n\t\t4/1\n\t\n\n\n\n\t\t\t36°\n\t\t\n\n\t\t\t\t/ 16°\n\t\t\t\n\n\n\t\tRealFeel®\n\t\t\n\t\n\n\t\tHot with hazy sunshine']
Мне нужен только текст, а не список.
Второй оператор печати, отображающий вывод в виде:
Current Weather
11:56 PM
22°
C
RealFeel®
20°
Mostly clear
Ожидаемый результат:
'Current Weather\n\t\n\n\t\t11:55 PM\n\t\n\n\n\n\t\t\t22°\n\t\t\n\n\t\t\t\tC\n\t\t\t\n\n\n\t\tRealFeel®\n\t\t20°\n\t\n\n\t\tPartly cloudy'
Как мне решить эту проблему?