• 和风api爬取天气预报数据


    '''
    和风api爬取天气预报数据
    目标:https://free-api.heweather.net/s6/weather/forecast?key=cc33b9a52d6e48de852477798980b76e&location=CN101090101
       得到中国城市的代码:https://a.hecdn.net/download/dev/china-city-list.csv
      目前先查20个城市第二天的天气
    '''
    import requests
    url = "https://a.hecdn.net/download/dev/china-city-list.csv"
    strhtml = requests.get(url=url)
    data = strhtml.text
    data1 = data.split("
    ")
    for i in range(3):
        data1.remove(data1[0])
    
    # 测试城市:石家庄,得到明天的天气情况
    # url = 'https://free-api.heweather.net/s6/weather/forecast?key=cc33b9a52d6e48de852477798980b76e&location=CN101090101'
    # strhtml  = requests.get(url)
    # dict=strhtml.json()
    # weather_t = []
    # for item in dict["HeWeather6"][0]['daily_forecast'][1:2]:
    #     weather = {
    #         '城市名':dict["HeWeather6"][0]['basic']['location'],
    #         '日期':item['date'],
    #         '白天':item['cond_txt_d'],
    #         '夜间':item['cond_txt_n']
    #        }
    #     weather_t.append(weather)
    # print(weather_t)
    
    for item in data1[:20]:
        url = 'https://free-api.heweather.net/s6/weather/forecast?key=cc33b9a52d6e48de852477798980b76e&location='+item[0:11]
        strhtml  = requests.get(url)
        dict=strhtml.json()
        weather_t = []
        for item in dict["HeWeather6"][0]['daily_forecast'][1:2]:
            weather = {
                '城市名':dict["HeWeather6"][0]['basic']['location'],
                '今天日期':dict["HeWeather6"][0]['daily_forecast'][0]['date'],
                'utc':dict["HeWeather6"][0]['daily_forecast'][0]['mr'],
                'loc':dict["HeWeather6"][0]['daily_forecast'][0]['ms'],
                '明天日期':item['date'],
                '白天':item['cond_txt_d'],
                '夜间':item['cond_txt_n']
               }
            weather_t.append(weather)
        print(weather_t)
  • 相关阅读:
    HashMap的实现原理
    LinkedHashMap的实现讲解
    ConcurrentHashMap原理分析
    javax.mail Java Extension(扩展)
    Singleton 单例模式
    Java序列化与反序列化(实践)
    Java IO操作
    Java NIO与IO的区别和比较
    java模拟异步消息的发送与回调
    java如何实现多个线程并发运行
  • 原文地址:https://www.cnblogs.com/chrysanthemum/p/11470569.html
Copyright © 2020-2023  润新知