7天天气预报下载

日期天气温度县区城市id
11日(今天)小雨-2℃北京北京北京101010100
12日(明天)6℃\-4℃北京北京北京101010100
13日(后天)9℃\-3℃北京北京北京101010100
14日(周五)多云9℃\-2℃北京北京北京101010100
15日(周六)多云转晴12℃\-3℃北京北京北京101010100
16日(周日)7℃\-3℃北京北京北京101010100
17日(周一)8℃\-3℃北京北京北京101010100
11日(今天)小雨8℃上海上海上海101020100
12日(明天)小雨转阴12℃\3℃上海上海上海101020100
13日(后天)9℃\3℃上海上海上海101020100
14日(周五)小雨12℃\5℃上海上海上海101020100
15日(周六)小雨转多云10℃\5℃上海上海上海101020100
16日(周日)13℃\4℃上海上海上海101020100
17日(周一)晴转多云10℃\4℃上海上海上海101020100
11日(今天)0℃天津天津天津101030100
12日(明天)5℃\-2℃天津天津天津101030100
13日(后天)9℃\-1℃天津天津天津101030100
14日(周五)10℃\0℃天津天津天津101030100
15日(周六)多云11℃\-1℃天津天津天津101030100
16日(周日)6℃\-2℃天津天津天津101030100
17日(周一)6℃\-3℃天津天津天津101030100
11日(今天)小雨9℃重庆重庆重庆101040100
12日(明天)小雨9℃\7℃重庆重庆重庆101040100
13日(后天)小雨9℃\7℃重庆重庆重庆101040100
14日(周五)阴转多云10℃\6℃重庆重庆重庆101040100
15日(周六)多云15℃\6℃重庆重庆重庆101040100
16日(周日)多云转小雨16℃\8℃重庆重庆重庆101040100
17日(周一)小雨14℃\9℃重庆重庆重庆101040100
11日(今天)小到中雪-10℃辽宁沈阳沈阳101070101
12日(明天)1℃\-13℃辽宁沈阳沈阳101070101
13日(后天)5℃\-10℃辽宁沈阳沈阳101070101
14日(周五)7℃\-8℃辽宁沈阳沈阳101070101
15日(周六)多云6℃\-10℃辽宁沈阳沈阳101070101
16日(周日)1℃\-13℃辽宁沈阳沈阳101070101
17日(周一)-1℃\-15℃辽宁沈阳沈阳101070101
11日(今天)雨夹雪-3℃辽宁大连大连101070201
12日(明天)多云转晴2℃\-2℃辽宁大连大连101070201
13日(后天)7℃\1℃辽宁大连大连101070201
14日(周五)8℃\2℃辽宁大连大连101070201
15日(周六)多云转晴9℃\-2℃辽宁大连大连101070201
16日(周日)2℃\-3℃辽宁大连大连101070201
17日(周一)0℃\-5℃辽宁大连大连101070201
11日(今天)小雨5℃江苏南京南京101190101
12日(明天)阴转多云10℃\-1℃江苏南京南京101190101
13日(后天)多云转阴10℃\0℃江苏南京南京101190101
14日(周五)阴转小雨9℃\4℃江苏南京南京101190101
15日(周六)小雨转多云9℃\3℃江苏南京南京101190101
16日(周日)晴转多云16℃\2℃江苏南京南京101190101
17日(周一)多云12℃\3℃江苏南京南京101190101
11日(今天)小雨8℃江苏苏州苏州101190401
12日(明天)阴转晴11℃\1℃江苏苏州苏州101190401
13日(后天)晴转多云10℃\2℃江苏苏州苏州101190401
14日(周五)阴转小雨10℃\4℃江苏苏州苏州101190401
15日(周六)中雨转晴9℃\5℃江苏苏州苏州101190401
16日(周日)晴转多云15℃\3℃江苏苏州苏州101190401
17日(周一)多云11℃\2℃江苏苏州苏州101190401
11日(今天)小雨5℃湖北武汉武汉101200101
12日(明天)小雨转多云8℃\2℃湖北武汉武汉101200101
13日(后天)阴转小雨9℃\2℃湖北武汉武汉101200101
14日(周五)小雨转阴7℃\4℃湖北武汉武汉101200101
15日(周六)多云16℃\0℃湖北武汉武汉101200101
16日(周日)多云转阴19℃\1℃湖北武汉武汉101200101
17日(周一)阴转多云14℃\3℃湖北武汉武汉101200101
11日(今天)多云7℃浙江杭州杭州101210101
12日(明天)小雨11℃\3℃浙江杭州杭州101210101
13日(后天)晴转多云10℃\3℃浙江杭州杭州101210101
14日(周五)小雨11℃\4℃浙江杭州杭州101210101
15日(周六)小到中雨转阴9℃\4℃浙江杭州杭州101210101
16日(周日)晴转多云18℃\2℃浙江杭州杭州101210101
17日(周一)阴转小雨11℃\3℃浙江杭州杭州101210101
11日(今天)多云8℃浙江嘉兴嘉兴101210301
12日(明天)小雨转多云9℃\3℃浙江嘉兴嘉兴101210301
13日(后天)晴转多云11℃\3℃浙江嘉兴嘉兴101210301
14日(周五)阴转小雨11℃\5℃浙江嘉兴嘉兴101210301
15日(周六)小到中雨转多云9℃\4℃浙江嘉兴嘉兴101210301
16日(周日)晴转多云15℃\1℃浙江嘉兴嘉兴101210301
17日(周一)阴转小雨11℃\3℃浙江嘉兴嘉兴101210301
11日(今天)8℃浙江绍兴绍兴101210507
12日(明天)小雨转多云11℃\3℃浙江绍兴绍兴101210507
13日(后天)11℃\3℃浙江绍兴绍兴101210507
14日(周五)多云转小雨14℃\5℃浙江绍兴绍兴101210507
15日(周六)小到中雨转阴9℃\4℃浙江绍兴绍兴101210507
16日(周日)多云转阴17℃\2℃浙江绍兴绍兴101210507
17日(周一)阴转小雨11℃\3℃浙江绍兴绍兴101210507
11日(今天)小雨3℃安徽合肥合肥101220101
12日(明天)阴转晴8℃\-3℃安徽合肥合肥101220101
13日(后天)多云转阴10℃\-1℃安徽合肥合肥101220101
14日(周五)9℃\0℃安徽合肥合肥101220101
15日(周六)多云15℃\0℃安徽合肥合肥101220101
16日(周日)晴转多云17℃\0℃安徽合肥合肥101220101
17日(周一)阴转多云12℃\0℃安徽合肥合肥101220101
11日(今天)小雨13℃福建厦门厦门101230201
12日(明天)中雨17℃\12℃福建厦门厦门101230201
13日(后天)16℃\12℃福建厦门厦门101230201
14日(周五)多云19℃\13℃福建厦门厦门101230201
15日(周六)多云转晴22℃\14℃福建厦门厦门101230201
16日(周日)22℃\12℃福建厦门厦门101230201
17日(周一)19℃\10℃福建厦门厦门101230201
11日(今天)小雨13℃福建泉州泉州101230501
12日(明天)中雨17℃\11℃福建泉州泉州101230501
13日(后天)13℃\10℃福建泉州泉州101230501
14日(周五)多云转阴19℃\11℃福建泉州泉州101230501
15日(周六)多云转晴23℃\14℃福建泉州泉州101230501
16日(周日)21℃\12℃福建泉州泉州101230501
17日(周一)17℃\10℃福建泉州泉州101230501
11日(今天)小雨8℃江西南昌南昌101240101
12日(明天)小雨转阴9℃\5℃江西南昌南昌101240101
13日(后天)多云12℃\5℃江西南昌南昌101240101
14日(周五)多云转小雨14℃\6℃江西南昌南昌101240101
15日(周六)多云转晴10℃\5℃江西南昌南昌101240101
16日(周日)16℃\5℃江西南昌南昌101240101
17日(周一)多云14℃\7℃江西南昌南昌101240101
11日(今天)小雨6℃湖南长沙长沙101250101
12日(明天)小雨转阴8℃\4℃湖南长沙长沙101250101
13日(后天)阴转小雨9℃\4℃湖南长沙长沙101250101
14日(周五)小雨转中雨7℃\4℃湖南长沙长沙101250101
15日(周六)小雨转多云13℃\4℃湖南长沙长沙101250101
16日(周日)晴转多云19℃\5℃湖南长沙长沙101250101
17日(周一)小雨12℃\6℃湖南长沙长沙101250101
11日(今天)小雨5℃四川成都成都101270101
12日(明天)12℃\4℃四川成都成都101270101
13日(后天)多云11℃\1℃四川成都成都101270101
14日(周五)多云13℃\1℃四川成都成都101270101
15日(周六)多云15℃\3℃四川成都成都101270101
16日(周日)多云转阵雨15℃\5℃四川成都成都101270101
17日(周一)多云转小雨15℃\7℃四川成都成都101270101
11日(今天)小雨15℃广东广州广州101280101
12日(明天)小雨21℃\13℃广东广州广州101280101
13日(后天)阴转多云20℃\13℃广东广州广州101280101
14日(周五)多云转小雨20℃\15℃广东广州广州101280101
15日(周六)小雨转多云20℃\13℃广东广州广州101280101
16日(周日)多云21℃\13℃广东广州广州101280101
17日(周一)多云21℃\13℃广东广州广州101280101
11日(今天)17℃广东深圳深圳101280601
12日(明天)小雨转阴21℃\16℃广东深圳深圳101280601
13日(后天)阴转小雨21℃\15℃广东深圳深圳101280601
14日(周五)小雨20℃\15℃广东深圳深圳101280601
15日(周六)小雨转多云21℃\15℃广东深圳深圳101280601
16日(周日)多云转晴23℃\15℃广东深圳深圳101280601
17日(周一)22℃\15℃广东深圳深圳101280601
11日(今天)16℃广东东莞东莞101281601
12日(明天)小雨转阴21℃\13℃广东东莞东莞101281601
13日(后天)多云转阴19℃\13℃广东东莞东莞101281601
14日(周五)小雨20℃\14℃广东东莞东莞101281601
15日(周六)小雨转多云20℃\13℃广东东莞东莞101281601
16日(周日)多云20℃\13℃广东东莞东莞101281601
17日(周一)多云20℃\14℃广东东莞东莞101281601

 

import requests as re
import sys,time,json,datetime
from bs4 import BeautifulSoup
import pandas as pd




def QhGetCityAll():
    """
    获取所有城市
    作者:阙辉
    """
    QhUrl = "https://j.i8tq.com/weather2020/search/city.js"
    QhReq = re.request('get', QhUrl)
    QhReq.encoding = 'utf-8'
    QhReqText = QhReq.text
    QhReqText = QhReqText.replace("var city_data =","")
    # print(QhReqText)
    QhReqText = json.loads(QhReqText)
    
    QhFlg = 0 
    QhJieGuo = []
    for Qhkey, Qhvalue in QhReqText.items():
        QhShengFen = Qhkey
        print(Qhkey)
        for Qhkey01, Qhvalue01 in Qhvalue.items():
            QhShi = Qhkey01
            # print(Qhkey01)
            for Qhkey02, Qhvalue02 in Qhvalue01.items():
                QhXian = Qhkey02  # 县 区
                QhAREAID = Qhvalue02["AREAID"]
                print(QhShengFen,QhShi,QhXian,QhAREAID)
                # QhCityTianQidf = pd.DataFrame()
                
                # QhCityTianQidf["省"] = QhShengFen
                # QhCityTianQidf["市"] = QhShi
                # QhCityTianQidf["县区"] = QhXian
                # QhCityTianQidf["城市id"] = QhAREAID
                # if QhFlg == 0:
                #     QhCityTianQidf0 = QhCityTianQidf
                # else:
                #     QhCityTianQidf0 = QhCityTianQidf0._append(QhCityTianQidf)
                # print(QhCityTianQidf)
                QhJieGuoROW = []
                QhJieGuoROW.append(QhShengFen)
                QhJieGuoROW.append(QhShi)
                QhJieGuoROW.append(QhXian)
                QhJieGuoROW.append(QhAREAID)
                QhJieGuo.append(QhJieGuoROW)
                QhFlg += 1
    
    QhCityTianQidf0 = pd.DataFrame(QhJieGuo,columns=["省","市","县区","城市id"])
    return QhCityTianQidf0

def QhGetCityTianQi():
    """
    批量获取城市天气
    作者:阙辉
    """
    QhGetDF = pd.read_csv("全国城市ok.csv",encoding="gbk")
    QhGetDFok = QhGetDF.loc[QhGetDF["是否获取"]==1]
    print(QhGetDFok)
    QhFlg = 0
    for inx, row in QhGetDFok.iterrows():
        QhAREAID = row["城市id"]
        QhCityTianQidf = QhGetTianQi(QhCityCode = QhAREAID)
        QhCityTianQidf["省"] = row["省"]
        QhCityTianQidf["市"] = row["市"]
        QhCityTianQidf["县区"] = row["县区"]
        QhCityTianQidf["城市id"] = row["城市id"]
        if QhFlg == 0:
            QhCityTianQidf0 = QhCityTianQidf
        else:
            QhCityTianQidf0 = QhCityTianQidf0._append(QhCityTianQidf)
        QhFlg += 1
    print(QhCityTianQidf0)
    return QhCityTianQidf0


def QhGetCity():

    QhUrl = "https://j.i8tq.com/weather2020/search/city.js"
    QhReq = re.request('get', QhUrl)
    QhReq.encoding = 'utf-8'
    QhReqText = QhReq.text
    QhReqText = QhReqText.replace("var city_data =","")
    # print(QhReqText)
    QhReqText = json.loads(QhReqText)
    QhCityTianQidf0 = pd.DataFrame()
    QhFlg = 0 
    for Qhkey, Qhvalue in QhReqText.items():
        QhShengFen = Qhkey
        print(Qhkey)
        for Qhkey01, Qhvalue01 in Qhvalue.items():
            QhShi = Qhkey01
            # print(Qhkey01)
            for Qhkey02, Qhvalue02 in Qhvalue01.items():
                QhXian = Qhkey02  # 县 区
                QhAREAID = Qhvalue02["AREAID"]
                print(QhShengFen,QhShi,QhXian,QhAREAID)
                QhCityTianQidf = QhGetTianQi(QhCityCode = QhAREAID)
                QhCityTianQidf["省"] = QhShengFen
                QhCityTianQidf["市"] = QhShi
                QhCityTianQidf["县区"] = QhXian
                QhCityTianQidf["城市id"] = QhAREAID
                if QhFlg == 0:
                    QhCityTianQidf0 = QhCityTianQidf
                else:
                    QhCityTianQidf0 = QhCityTianQidf0._append(QhCityTianQidf)
                print(QhCityTianQidf)
                QhFlg += 1

    return QhCityTianQidf0


def QhGetTianQi(QhCityCode = "101060504"):
    
    """
    获取单个城市天气
    作者:阙辉
    """

    QhUrl = 'https://www.weather.com.cn/weather/{}.shtml'.format(str(QhCityCode))

    QhReq = re.request('get', QhUrl)
    QhReq.encoding = 'utf-8'
    QhReqText = QhReq.text
    QhSoup = BeautifulSoup(QhReqText, 'html.parser')
    QhSoupul = QhSoup.find_all('ul',attrs={'class' : "t clearfix"})
    QhSoupul_li = QhSoupul[0].find_all('li')

    QhJieGuo = []
    for QhRow in QhSoupul_li:
        print(QhRow)
        QhJieGuoRow = []
        QhDate = QhRow.find_all('h1')[0].string   # 日期
        QhTianQi = QhRow.find_all('p',attrs={'class' : "wea"})[0].string   # 天气
        QhWenDu0 = QhRow.find_all('p',attrs={'class' : "tem"})[0]   # 天气
        try:
            QhWenDu = QhWenDu0.find("span").string + "\\" + QhWenDu0.find("i").string
        except:
            try:
                QhWenDu = QhWenDu0.find("i").string
            except:
                QhWenDu = "可能有报错"
        QhJieGuoRow.append(QhDate)
        QhJieGuoRow.append(QhTianQi)
        QhJieGuoRow.append(QhWenDu)
        QhJieGuo.append(QhJieGuoRow)

    print(QhJieGuo)

    QhJieGuodf = pd.DataFrame(QhJieGuo,columns=['日期','天气','温度'])

    return QhJieGuodf

if __name__ == "__main__":
    # QhJieGuodf = QhGetTianQi(QhCityCode = "101060504")

    # print(QhJieGuodf)
    # QhJieGuodf.to_csv("天气.csv",encoding='gbk',index=False)

    # print(QhGetCity())
    # QhCityTianQidf0 = QhGetCity()
    # QhCityTianQidf0.to_csv("全国天气.csv",encoding='gbk',index=False)

    # QhCityTianQidf0 = QhGetCityAll()
    # QhCityTianQidf0.to_csv("全国城市.csv",encoding='gbk',index=False)

    QhCityTianQidf0 = QhGetCityTianQi()
    QhCityTianQidf0.to_csv("全国天气.csv",encoding='gbk',index=False)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值