欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python解析中國(guó)天氣網(wǎng)的天氣數(shù)據(jù)

 更新時(shí)間:2014年03月21日 09:01:16   作者:  
最近學(xué)習(xí)python 感覺(jué)這門(mén)腳本語(yǔ)言十分靈活 而且功能十分強(qiáng)大 尤其是他re庫(kù)用于正則匹配十分強(qiáng)大,寫(xiě)了個(gè)例子解析中國(guó)天氣網(wǎng)

使用方法:terminal中輸入

復(fù)制代碼 代碼如下:
python weather.py http://www.weather.com.cn/weather/101010100.shtml

北京6天的天氣數(shù)據(jù) json格式

復(fù)制代碼 代碼如下:
#coding=utf-8 
#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):#獲取頁(yè)面的所有數(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項(xiàng) 即后面6天的天氣數(shù)據(jù) 每天相關(guān)的信息有13個(gè) 

        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庫(kù)simplejson,安裝方法參考下面:
1.下載:http://pypi.python.org/pypi/simplejson/ ,文件為壓縮文件
2.解壓:可以直接右鍵:解壓文件.例如:D:/simplejson
3.開(kāi)始---運(yùn)行---輸入命令:cmd
4.進(jìn)入到目錄(如:D:/simplejson)

復(fù)制代碼 代碼如下:
    cd D:/simplejson

5.運(yùn)行安裝文件:setup.py install

相關(guān)文章

  • Python機(jī)器學(xué)習(xí)庫(kù)scikit-learn入門(mén)開(kāi)發(fā)示例

    Python機(jī)器學(xué)習(xí)庫(kù)scikit-learn入門(mén)開(kāi)發(fā)示例

    scikit-learn是一個(gè)開(kāi)源Python語(yǔ)言機(jī)器學(xué)習(xí)工具包,它涵蓋了幾乎所有主流機(jī)器學(xué)習(xí)算法的實(shí)現(xiàn),并且提供了一致的調(diào)用接口。它基于Numpy和scipy等Python數(shù)值計(jì)算庫(kù),提供了高效的算法實(shí)現(xiàn)
    2022-07-07
  • 純python進(jìn)行矩陣的相乘運(yùn)算的方法示例

    純python進(jìn)行矩陣的相乘運(yùn)算的方法示例

    這篇文章主要介紹了純python進(jìn)行矩陣的相乘運(yùn)算的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python運(yùn)行腳本文件的三種方法實(shí)例

    python運(yùn)行腳本文件的三種方法實(shí)例

    在計(jì)算中,腳本一詞用于指代包含訂單邏輯序列的文件或批處理文件,下面這篇文章主要給大家介紹了關(guān)于python運(yùn)行腳本文件的三種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • 用Python實(shí)現(xiàn)校園通知更新提醒功能

    用Python實(shí)現(xiàn)校園通知更新提醒功能

    今天小編就為大家分享一篇用Python實(shí)現(xiàn)校園通知更新提醒功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • pytorch 實(shí)現(xiàn)模型不同層設(shè)置不同的學(xué)習(xí)率方式

    pytorch 實(shí)現(xiàn)模型不同層設(shè)置不同的學(xué)習(xí)率方式

    今天小編就為大家分享一篇pytorch 實(shí)現(xiàn)模型不同層設(shè)置不同的學(xué)習(xí)率方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • 利用python的socket發(fā)送http(s)請(qǐng)求方法示例

    利用python的socket發(fā)送http(s)請(qǐng)求方法示例

    這篇文章主要給大家介紹了關(guān)于利用python的socket發(fā)送http(s)請(qǐng)求的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧
    2018-05-05
  • 信號(hào)生成及DFT的python實(shí)現(xiàn)方式

    信號(hào)生成及DFT的python實(shí)現(xiàn)方式

    今天小編就為大家分享一篇信號(hào)生成及DFT的python實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • selenium環(huán)境搭建及基本元素定位方式詳解

    selenium環(huán)境搭建及基本元素定位方式詳解

    selenium最初是一個(gè)自動(dòng)化測(cè)試工具,而爬蟲(chóng)中使用它主要是為了解決requests無(wú)法執(zhí)行javaScript代碼的問(wèn)題,這篇文章主要介紹了selenium環(huán)境搭建及基本元素定位方式,需要的朋友可以參考下
    2023-04-04
  • Linux下通過(guò)python獲取本機(jī)ip方法示例

    Linux下通過(guò)python獲取本機(jī)ip方法示例

    這篇文章主要給大家介紹了關(guān)于在Linux下通過(guò)python獲取本機(jī)ip的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Python中os模塊的使用及文件對(duì)象的讀寫(xiě)詳解

    Python中os模塊的使用及文件對(duì)象的讀寫(xiě)詳解

    這篇文章主要介紹了Python中os模塊的使用及文件對(duì)象的讀寫(xiě)詳解,Python?open()?方法用于打開(kāi)一個(gè)文件,并創(chuàng)建返回文件對(duì)象,在對(duì)文件進(jìn)行處理過(guò)程都需要使用到這個(gè)函數(shù),如果該文件無(wú)法被打開(kāi),會(huì)拋出?OSError,需要的朋友可以參考下
    2023-08-08

最新評(píng)論