1、Python爬虫获取中国天气网某个城市的实时气温
匿名 · 更新于 2018/2/27
import requests,re,time,json
#城市ID
areaid = '101030100'
#获取毫秒
t = time.time()
millisecond = int(round(t * 1000))
#设置headers
headers = {'Accept': 'text/html, application/xhtml+xml, image/jxr, */*',
'Accept-Encoding':'gzip, deflate',
'Accept-Language':'zh-Hans-CN, zh-Hans; q=0.5',
'Connection':'Keep-Alive',
'Host':'d1.weather.com.cn',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
'Referer':'http://www.weather.com.cn/weather1dn/'+areaid+'.shtml'
}
res = requests.get('http://d1.weather.com.cn/sk_2d/'+areaid+'.html?_='+str(millisecond),params=None, headers=headers)
res.raise_for_status()
content = res.text
tqRegex = re.compile(r'\{[^\}]*\}')
jsonstr = tqRegex.search(content)
# print(jsonstr.group())
dict_json = json.loads(jsonstr.group())
# print(dict_json)
print('当前城市【'+dict_json['cityname']+'】的实时气温为'+dict_json['temp']+'℃')
{
"北京": {
"area": {
"type": "city",
"name": "北京",
"areaid": "101010100"
}
},
"上海": {
"area": {
"type": "city",
"name": "上海",
"areaid": "101020100"
}
},
"天津": {
"area": {
"type": "city",
"name": "天津",
"areaid": "101030100"
}
},
"重庆": {
"area": {
"type": "city",
"name": "重庆",
"areaid": "101040100"
}
},
"黑龙江": {
"area": {
"type": "city",
"name": "黑龙江",
"areaid": "101050101"
}
},
"吉林": {
"area": {
"type": "city",
"name": "吉林",
"areaid": "101060101"
}
},
"辽宁": {
"area": {
"type": "city",
"name": "辽宁",
"areaid": "101070101"
}
},
"内蒙古": {
"area": {
"type": "city",
"name": "内蒙古",
"areaid": "101080101"
}
},
"河北": {
"area": {
"type": "city",
"name": "河北",
"areaid": "101090101"
}
},
"山西": {
"area": {
"type": "city",
"name": "山西",
"areaid": "101100101"
}
},
"陕西": {
"area": {
"type": "city",
"name": "陕西",
"areaid": "101110101"
}
},
"山东": {
"area": {
"type": "city",
"name": "山东",
"areaid": "101120101"
}
},
"新疆": {
"area": {
"type": "city",
"name": "新疆",
"areaid": "101130101"
}
},
"西藏": {
"area": {
"type": "city",
"name": "西藏",
"areaid": "101140101"
}
},
"青海": {
"area": {
"type": "city",
"name": "青海",
"areaid": "101150101"
}
},
"甘肃": {
"area": {
"type": "city",
"name": "甘肃",
"areaid": "101160101"
}
},
"宁夏": {
"area": {
"type": "city",
"name": "宁夏",
"areaid": "101170101"
}
},
"河南": {
"area": {
"type": "city",
"name": "河南",
"areaid": "101180101"
}
},
"江苏": {
"area": {
"type": "city",
"name": "江苏",
"areaid": "101190101"
}
},
"湖北": {
"area": {
"type": "city",
"name": "湖北",
"areaid": "101200101"
}
},
"浙江": {
"area": {
"type": "city",
"name": "浙江",
"areaid": "101210101"
}
},
"安徽": {
"area": {
"type": "city",
"name": "安徽",
"areaid": "101220101"
}
},
"福建": {
"area": {
"type": "city",
"name": "福建",
"areaid": "101230101"
}
},
"江西": {
"area": {
"type": "city",
"name": "江西",
"areaid": "101240101"
}
},
"湖南": {
"area": {
"type": "city",
"name": "湖南",
"areaid": "101250101"
}
},
"贵州": {
"area": {
"type": "city",
"name": "贵州",
"areaid": "101260101"
}
},
"四川": {
"area": {
"type": "city",
"name": "四川",
"areaid": "101270101"
}
},
"广东": {
"area": {
"type": "city",
"name": "广东",
"areaid": "101280101"
}
},
"云南": {
"area": {
"type": "city",
"name": "云南",
"areaid": "101290101"
}
},
"广西": {
"area": {
"type": "city",
"name": "广西",
"areaid": "101300101"
}
},
"海南": {
"area": {
"type": "city",
"name": "海南",
"areaid": "101310101"
}
},
"香港": {
"area": {
"type": "city",
"name": "香港",
"areaid": "101320101"
}
},
"澳门": {
"area": {
"type": "city",
"name": "澳门",
"areaid": "101330101"
}
},
"台湾": {
"area": {
"type": "city",
"name": "台湾",
"areaid": "101340101"
}
}
}
