私信我,回复:学习,获取免费学习资源包。
具体代码如下:
#爬取2345网站天气预报import questsimport csvimport demjson#构造网址year=2018months=[%d%02d%(year,month+1) for month in range(12)]target_url=[fhttp://tianqi.2345.com/t/wea_history/js/{month}/54511_{month}.js for month in months]#进行相关数据爬取datas=[]for url in target_url: r=quests.get(url) if r.status_code!=200: raise Exception() data=r.text.lstrip(var weather_str=).rstrip(;) datas.append(data) #将json格式进行解码 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(./2018年北京天气.csv,w,newline=,encoding=utf-8) as f: writer=csv.writer(f) columns=[ymd, bWendu, yWendu, tianqi, fengxiang, fengli, aqi, aqiInfo, aqiLevel] writer.writerow(columns) for data in all_datas: writer.writerow([data[column] for column in columns ])
运行结果如下:
来源网络,侵权联系删除
私信我,回复:学习,获取免费学习资源包。