Как упоминалось в предыдущем вопросе, я использую Beautiful soup with python для извлечения метеорологических данных с веб-сайта.Beautifulsoup loop через HTML
Вот как сайт выглядит следующим образом:
<channel>
<title>2 Hour Forecast</title>
<source>Meteorological Services Singapore</source>
<description>2 Hour Forecast</description>
<item>
<title>Nowcast Table</title>
<category>Singapore Weather Conditions</category>
<forecastIssue date="18-07-2016" time="03:30 PM"/>
<validTime>3.30 pm to 5.30 pm</validTime>
<weatherForecast>
<area forecast="TL" lat="1.37500000" lon="103.83900000" name="Ang Mo Kio"/>
<area forecast="SH" lat="1.32100000" lon="103.92400000" name="Bedok"/>
<area forecast="TL" lat="1.35077200" lon="103.83900000" name="Bishan"/>
<area forecast="CL" lat="1.30400000" lon="103.70100000" name="Boon Lay"/>
<area forecast="CL" lat="1.35300000" lon="103.75400000" name="Bukit Batok"/>
<area forecast="CL" lat="1.27700000" lon="103.81900000" name="Bukit Merah"/>`
<channel>
мне удалось получить дату forecastIssue & validTime. Тем не менее, я не могу получить разный прогноз области.
Вот мои питона коды:
import requests
from bs4 import BeautifulSoup
import urllib3
outfile = open('C:\scripts\idk.xml','w')
#getting the time
r = requests.get('http://www.nea.gov.sg/api/WebAPI/?
dataset=2hr_nowcast&keyref=<keyrefno>')
soup = BeautifulSoup(r.content, "xml")
time = soup.find('validTime').string
print time
#print issue date and time
for currentdate in soup.findAll('item'):
string = currentdate.find('forecastIssue')
print string
Это та часть, где я хочу, чтобы получить область прогноз, например. зональный прогноз = ш = «1,37500000» долгота = название «TL» «+103,83900000» = «Ang Mo Kio»/
for area in soup.findAll('weatherForecast'):
areastring = area.find('area')
print areastring
Когда я бегу мои коды в питона, она только извлечет первую область, которая Ang Mo Kio выход
Пример:
2.30 pm to 5.30 pm
<forecastIssue date="22-07-2016" time="02:30 PM"/>
<area forecast="RA" lat="1.37500000" lon="103.83900000" name="Ang Mo Kio"/>
Inspect element of the website
Как вы можете видеть, прогноз район находится в пределах div class
Как проехать по всем областям? Я пробовал поиск в Интернете, но, по-видимому, считаю, что это не работает для моих кодов.
Есть ли способ разделить дату и время?
Есть ли способ проанализировать данные, полученные beautifulsoup, в XML-файл? Поскольку мой вывод не содержит никаких данных, когда я запускаю коды.
спасибо.
Можете ли вы предоставить ссылку на ваш предыдущий вопрос? –
http://stackoverflow.com/questions/38431446/beautifulsoup-returning-when-i-run-it – plzhelpmi
Что касается пункта 3, вы делаете 0, записывая в 'outfile'. Естественно, он не содержит данных. –