概述
import requests
import demjson
import csv
# 构造2019全年的月份列表
months = []
for year in (2019,):
for month in range(12):
months.append("%d%02d"%(year, month+1))
todo_urls = [
"http://tianqi.2345.com/t/wea_history/js/"+month+"/58457_"+month+".js"
for month in months
]
datas = []
for url in todo_urls:
r = requests.get(url,params=params)
r.encoding = "gbk"
if r.status_code!=200:
raise Exception()
# 去除javascript前后的字符串,得到一个js格式的JSON
data = r.text.lstrip("var weather_str=").rstrip(";")
datas.append(data)
datas
# 解析所有月份的数据
all_datas = []
for data in datas:
tqInfos = demjson.decode(data)["tqInfo"]
all_datas.extend([x for x in tqInfos if len(x)>0])
with open('hangzhou_tianqi_2019.csv', 'w', newline='', encoding='utf-8') as csv_file:
writer = csv.writer(csv_file)
columns = list(all_datas[0].keys())
writer.writerow(columns)
for data in all_datas:
writer.writerow([data[column] for column in columns])
最后
以上就是怕孤独小蝴蝶为你收集整理的python爬取历史的天气数据的全部内容,希望文章能够帮你解决python爬取历史的天气数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复