日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

【Python 第44課】 查天氣(2)20150120044

 一利陽光故事會(huì) 2020-02-24

先來看python中的urllib2,這是python中一個(gè)用來獲取網(wǎng)絡(luò)資源的模塊。我們平常上網(wǎng),在瀏覽器地址欄中輸入一個(gè)網(wǎng)址,瀏覽器根據(jù)這個(gè)網(wǎng)址拿到一些內(nèi)容,然后展現(xiàn)在頁面上,這大約就是瀏覽網(wǎng)頁的過程。類似的,urllib2會(huì)跟據(jù)你提供的網(wǎng)址,請(qǐng)求對(duì)應(yīng)的內(nèi)容。

打開一個(gè)鏈接和打開一個(gè)文件有點(diǎn)像:
import urllib2
web = urllib2.urlopen('http
分割://www分割.baidu.分割com')
content = web.read()
print content

我們引入urllib2的模塊,用其中的urlopen方法打開百度,然后用read方法把其中的內(nèi)容讀取到一個(gè)變量中并輸出。運(yùn)行后,你會(huì)看到控制臺(tái)中輸出了一堆看不懂的代碼文字。這段代碼中有html,有css,還有javascript。我們?cè)跒g覽器中看到的網(wǎng)頁大部分就是由這些代碼所組成。如果你把content保存到一個(gè)以“.html”結(jié)尾的文件中(保存文件的方法前面已經(jīng)說過很多),再打開這個(gè)html文件,就會(huì)看到“百度的首頁”,只是這個(gè)首頁在你的電腦上,所以你無法進(jìn)行搜索。

打開一個(gè)鏈接和打開一個(gè)文件有點(diǎn)像:
回到我們的查天氣程序,我們要向中國(guó)天氣網(wǎng)發(fā)一個(gè)查詢天氣的請(qǐng)求。昨天說了,如何獲取查詢的url是個(gè)問題。先說簡(jiǎn)單的辦法,用我提供的城市代碼列表city.py。

city.py這個(gè)文件里有一個(gè)叫做city的字典,它里面的key是城市的名稱,value是對(duì)應(yīng)的城市代碼。不用把它c(diǎn)opy到自己的程序中,只要放在和你的代碼同一路徑下,用
from city import city

就可以引入city這個(gè)字典。這里相當(dāng)于用了一個(gè)自定義的模塊,前一個(gè)“city”是模塊名,也就是py文件的名稱,后一個(gè)“city”是模塊中變量的名稱。

構(gòu)造我們需要的url:
cityname = raw_input('你想查哪個(gè)城市的天氣?\n')
citycode = city.get(cityname)
if citycode:
 
url = ('http: // www .weather .com.cn/data/cityinfo/%s.html' % citycode)
 
content = urllib2.urlopen(url).read()

為了防止你輸入列表中沒有的城市,所以用了if判斷citycode是否存在。


運(yùn)行一下看看能不能得到結(jié)果。如果提示編碼的錯(cuò)誤,試試在文件最開始加上:
# -*- coding: utf-8 -*-

【Python <wbr>第44課】 <wbr>查天氣(2)20150120044

可以看到,已經(jīng)拿到了json格式的天氣信息。下一課再來處理它。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多