python實(shí)現(xiàn)自主查詢實(shí)時(shí)天氣
本文實(shí)例為大家分享了python實(shí)現(xiàn)自主查詢實(shí)時(shí)天氣的具體代碼,供大家參考,具體內(nèi)容如下
用到了urllib2 json 很簡(jiǎn)單的一個(gè)應(yīng)用 如下

獲取城市編號(hào)
#coding=utf-8
import urllib2
url1 = 'http://m.weather.com.cn/data3/city.xml'
content1 = urllib2.urlopen(url1).read()
provinces = content1.split(',')
print content1 # 輸出content1可以查看全部省份代碼
result = ''
url = 'http://m.weather.com.cn/data3/city%s.xml'
for p in provinces:
p_code = p.split('|')[0]
url2 = url % p_code
content2 = urllib2.urlopen(url2).read() # 輸出content2可以查看此省份下所有城市代碼
cities = content2.split(',')
print content2
for c in cities:
c_code = c.split('|')[0]
url3 = url % c_code
content3 = urllib2.urlopen(url3).read()
print content3 #content3是此城市下所有地區(qū)代碼
districts = content3.split(',')
for d in districts: # 對(duì)于每個(gè)地區(qū),我們把它的名字記錄下來,然后再發(fā)送一次請(qǐng)求,得到它的最終代碼:
d_pair = d.split('|')
d_code = d_pair[0] #
if 5 == len(d_code):
continue
temp=[d_code]
temp.insert(4,0)
d_code ="".join(temp)
name = d_pair[1] # 名字
url4 = url % d_code
content4 = urllib2.urlopen(url4).read()
print content4
code = content4.split('|')[1]
line = "%s:%s\n" % (name, code)
result += line
print name + ':' + code
f = file('./city', 'w')
f.write(result)
f.close()
findweather
# -*- coding: utf-8 -*-
import urllib2
import json
city = {}
f =file('city','r')
src = f.readlines()
for line in src:
line = line.split('\n')[0]
name = line.split(':')[0]
code = line.split(':')[1]
city[name] = code
cityname = raw_input('請(qǐng)輸入你要查詢的城市名稱:\n')
citycode = city.get(cityname)
print cityname
if citycode:
try:
url = ('http://www.weather.com.cn/data/cityinfo/%s.html' % citycode)
content = urllib2.urlopen(url).read()
data = json.loads(content)
result = data['weatherinfo']
str_temp = ('%s\n%s ~ %s') % (result['weather'],result['temp1'],result['temp2'])
print str_temp
except:
print '查詢失敗'
else:
print '沒有找到該城市'
運(yùn)行 findweather 即可。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python爬蟲實(shí)例扒取2345天氣預(yù)報(bào)
- python3爬取各類天氣信息
- Python爬蟲天氣預(yù)報(bào)實(shí)例詳解(小白入門)
- python定時(shí)利用QQ郵件發(fā)送天氣預(yù)報(bào)的實(shí)例
- python結(jié)合API實(shí)現(xiàn)即時(shí)天氣信息
- Python爬取國(guó)外天氣預(yù)報(bào)網(wǎng)站的方法
- Python實(shí)現(xiàn)從百度API獲取天氣的方法
- python解析中國(guó)天氣網(wǎng)的天氣數(shù)據(jù)
- python顯示天氣預(yù)報(bào)
- Python天氣預(yù)報(bào)采集器實(shí)現(xiàn)代碼(網(wǎng)頁爬蟲)
相關(guān)文章
python處理 yaml 時(shí)保持輸入輸出格式一致的問題記錄
這篇文章主要介紹了python處理 yaml 時(shí)保持輸入輸出格式一致的問題記錄,要想保持順序不變?cè)赿ump時(shí)添加sort_keys=False,使yaml格式保持原來的排序,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
Python3 實(shí)現(xiàn)串口兩進(jìn)程同時(shí)讀寫
今天小編就為大家分享一篇Python3 實(shí)現(xiàn)串口兩進(jìn)程同時(shí)讀寫,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06
僅用500行Python代碼實(shí)現(xiàn)一個(gè)英文解析器的教程
這篇文章主要介紹了僅用500行Python代碼實(shí)現(xiàn)一個(gè)英文解析器的教程,自然語言處理近來也是業(yè)界中一個(gè)熱門課題,作者為NLP方向的開發(fā)者,需要的朋友可以參考下2015-04-04
Django使用Profile擴(kuò)展User模塊方式
這篇文章主要介紹了Django使用Profile擴(kuò)展User模塊方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05
python KNN算法實(shí)現(xiàn)鳶尾花數(shù)據(jù)集分類
這篇文章主要介紹了python KNN算法實(shí)現(xiàn)鳶尾花數(shù)據(jù)集分類,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
python標(biāo)識(shí)符命名規(guī)范原理解析
這篇文章主要介紹了python標(biāo)識(shí)符命名規(guī)范原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
Python ATM功能實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了Python ATM功能實(shí)現(xiàn)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03

