python解析中國天氣網(wǎng)的天氣數(shù)據(jù)
使用方法:terminal中輸入
北京6天的天氣數(shù)據(jù) json格式
#weather.py
import urllib
import re
import simplejson
import sys
if len(sys.argv) != 2:
print 'please enter: python ' + sys.argv[0] + ' <url>'
exit(0)
url = sys.argv[1];
def readurlPageContent(url):#獲取頁面的所有數(shù)據(jù) 逐行讀取
webpage = urllib.urlopen(url);
line = webpage.readline();
data = ''
while line:
data = data + line.strip(); #去除每行兩邊的的空格
line = webpage.readline();
return data
def getDatabody(data):
reg = re.compile(r'(<div class=\"weatherYubaoBox\">(?:(?!<div)(?!</div).)*</div>)');
matchs = reg.findall(data,re.I);
if len(matchs) > 0:
return matchs[0]
return None
def getSixDayWeather(data):
regs = re.compile(r'>((?:(?!<)(?!>)(?!var).)+)<');
datas = regs.findall(data)
if len(datas) > 12:
datas = datas[12:len(datas)-7];#提取其中的78項 即后面6天的天氣數(shù)據(jù) 每天相關(guān)的信息有13個
return datas
return None
data = readurlPageContent(url);
match_data = getDatabody(data)
if match_data == None :
print 'get weather data fail'
exit(0)
weathers_data = getSixDayWeather(match_data)
if weathers_data == None:
print 'get six day info fail'
exit(0)
count = len(weathers_data);
groups_item_count = count / 6;
weathers = {};
groups = [];
start = 0
for item in weathers_data :
if (start % groups_item_count) == 0:
groups = [];
weathers[('day'+str(start/groups_item_count + 1))] = groups;
groups.append(item)
start = start + 1
print simplejson.dumps(weathers, encoding='UTF-8', ensure_ascii=False)
注:本文中使用了第三方JSON庫simplejson,安裝方法參考下面:
1.下載:http://pypi.python.org/pypi/simplejson/ ,文件為壓縮文件
2.解壓:可以直接右鍵:解壓文件.例如:D:/simplejson
3.開始---運行---輸入命令:cmd
4.進入到目錄(如:D:/simplejson)
5.運行安裝文件:setup.py install
相關(guān)文章
Python機器學(xué)習(xí)庫scikit-learn入門開發(fā)示例
scikit-learn是一個開源Python語言機器學(xué)習(xí)工具包,它涵蓋了幾乎所有主流機器學(xué)習(xí)算法的實現(xiàn),并且提供了一致的調(diào)用接口。它基于Numpy和scipy等Python數(shù)值計算庫,提供了高效的算法實現(xiàn)2022-07-07pytorch 實現(xiàn)模型不同層設(shè)置不同的學(xué)習(xí)率方式
今天小編就為大家分享一篇pytorch 實現(xiàn)模型不同層設(shè)置不同的學(xué)習(xí)率方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01利用python的socket發(fā)送http(s)請求方法示例
這篇文章主要給大家介紹了關(guān)于利用python的socket發(fā)送http(s)請求的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧2018-05-05