用到了urllib2 json 很簡單的乙個應用 如下
獲取城市編號
#coding=utf-8
import urllib2
url1 = ''
content1 = urllib2.urlopen(url1).read()
provinces = content1.split(',')
print content1 # 輸出content1可以檢視全部省份**
result = ''
url = ''
for p in provinces:
p_code = p.split('|')[0]
url2 = url % p_code
content2 = urllib2.urlopen(url2).read() # 輸出content2可以檢視此www.cppcns.com省份下所有城市**
cities = content2.split(',')
print content2
for c in cities:
c_code = c.sp程式設計客棧lit('|')[0]
url3 = url % c_code
content3 = urllib2.urlopen(url3).read()
print content3 #content3是此城市下所有地區**
districts = conkjtdpfdtent3.split(',')
for d in districts: # 對於每個地區,我們把它的名字記錄下來,然後再傳送一次請求,得到它的最終**:
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('請輸入你要查詢的城市名稱:\n')
citycode = city.get(cityname)
print cityname
if citycode:
try:
url = ('' % citycode)
content = urllib2.urlopen(url).read()
data = json.loads
result = data['weatherinfo']
str_temp = ('%s\n%s ~ %s') % (result['weather'],result['temp1'],result['temp2'])
print str_temp
except:
print '查詢失敗'
else:
print '沒有找到該城市'
執行 findweather 即可。
本文標題: python實現自主查詢實時天氣
本文位址:
自主程式設計實現二分法查詢
今天出去筆試,遇到一道題目讓我們用二分法查詢一已排好序的陣列中的資料,並返回該資料的位置,這 是我第一 次碰到使用二分法的程式設計題,一開始還是有點小慌得,畢竟之前沒有寫過,怕有些注意點沒法試卷中 檢測出來,不過二分法的概念還是很好理解的,主要思想是 設查詢的陣列區間為a front,end 1 確...
查詢演算法(Python實現)
在日常生活中,幾乎每天都要進行一些查詢的工作,在 簿中查閱某個人的 在電腦的資料夾中查詢某個具體的檔案等等。查詢表是由同一型別的資料元素構成的集合。例如 號碼簿和字典都可以看作是一張查詢表。一般對於查詢表有以下幾種操作 在查詢表中查詢某個具體的資料元素 在查詢表中插入資料元素 從查詢表中刪除資料元素...
python實現順序查詢和折半查詢
1 順序查詢 特點 不需要內容有序,乙個乙個查詢 缺點 查詢效率低,不適合大資料 假設資料的總個數為n,則計算複雜度為n 2 下面的程式由三個函式組成,第乙個函式是裝飾器,作用是計算函式的 執行時間 第二個函式的作用是資料的輸入,為方便直接給列表裝載i 第三個函式的作用是實現順序查詢 coding ...