Я слежу за онлайн-проектом, где мы прогнозируем индекс качества воздуха. Для этого нам нужно сначала получить данные, которые мы загружаем с веб-сайта. Вот исходный код, предоставленный автором:
import os
import time
import requests
import sys
def retrieve_html():
for year in range(2013,2019):
for month in range(1,13):
if(month<10):
url='http://en.tutiempo.net/climate/0{}-{}/ws-421820.html'.format(month
,year)
else:
url='http://en.tutiempo.net/climate/{}-{}/ws-421820.html'.format(month
,year)
texts=requests.get(url)
text_utf=texts.text.encode('utf=8')
if not os.path.exists("Data/Html_Data/{}".format(year)):
os.makedirs("Data/Html_Data/{}".format(year))
with open("Data/Html_Data/{}/{}.html".format(year,month),"wb") as output:
output.write(text_utf)
sys.stdout.flush()
if __name__=="__main__":
start_time=time.time()
retrieve_html()
stop_time=time.time()
print("Time taken {}".format(stop_time-start_time))
Это отлично работает. Теперь я попробовал написать тот же код самостоятельно. Вот мой код:
import os
import time
import requests
import sys
def retrieve_html():
for year in range(2013,2019):
for month in range(1,13):
if(month<10):
url='http://en.tutiempo.net/climate/0{}-{}/ws-421820.html'.format(month, year)
else:
url='http://en.tutiempo.net/climate/{}-{}/ws-421820.html'.format(month, year)
texts=requests.get(url)
text_utf=texts.text.encode("utf=8")
if not os.path.exists("Data/Html_Data/{}".format(year)):
os.makedirs("Data/Html_Data/{}".format(year))
with open("Data/Html_Data/{}/{}.html".format(year,month),"wb") as output:
output.write(text_utf)
sys.stdout.flush()
if __name__=="__main__":
start_time=time.time()
retrieve_html()
stop_time=time.time()
print("Time taken: {}".format(stop_time-start_time))
Но всякий раз, когда я запускаю этот скрипт, загружаются только данные за 12-й месяц, а остальные данные за другие месяцы не загружаются. Я проверил, используя код, предоставленный автором, и он работает отлично, хотя мой код точно такой же, как и его. Это сводит меня с ума. Кто-нибудь может указать, где я ошибаюсь?