久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

自學Python編程【第四十二節】查天氣(2)

同學們!歡迎您來到Python編程教室,上節課我們對查天氣中的難點提前跟大家說了一下, 比如城市代碼的獲取,今天我們就要開始編程獲取數據了,想想是不還有點小激動呢?快來看看吧:

先來看Python中的urllib2,這是Python中一個用來獲取網絡資源的模塊。我們平常上網,在瀏覽器地址欄中輸入一個網址,瀏覽器根據這個網址拿到一些內容,然后展現在頁面上,這大約就是瀏覽網頁的過程。類似的,urllib2會跟據你提供的網址,請求對應的內容。

打開一個鏈接和打開一個文件有點像:

import urllib2 
web = urllib2.urlopen('http://www.baidu.com')
content = web.read()
print content

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

回到我們的查天氣程序,我們要向中國天氣網發一個查詢天氣的請求。昨天說了,如何獲取查詢的url是個問題。先說簡單的辦法,用我提供的城市代碼列表city.py。

city.py這個文件里有一個叫做city的字典,它里面的key是城市的名稱,value是對應的城市代碼。不用把它copy到自己的程序中,只要放在和你的代碼同一路徑下,用

from city import city

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

構造我們需要的url:

cityname = raw_input('你想查哪個城市的天氣?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是否存在。

運行一下看看能不能得到結果。如果提示編碼的錯誤,試試在文件最開始加上:

# -*- coding: utf-8 -*-

自學Python編程【第四十二節】查天氣(2)

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

恭喜您在Python自學的道路上又堅持了一天,今天講的內容大家是不覺得有點意猶未盡呢?那你能不能拓展一下,查出全國各個城市的天氣,并且把他們按照一定的格式填充到excel中呢?試一下吧。

好啦,今天的分享到這里就結束了,希望大家能夠持續關注馬哥教育官網!每天都會有大量優質內容與大家分享!

聲明:文章來源于網絡,侵刪!

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 彰武县| 砀山县| 宁海县| 新泰市| 桦川县| 武安市| 通城县| 昂仁县| 闵行区| 石渠县| 资源县| 乐山市| 泰安市| 抚顺县| 海原县| 新竹县| 石棉县| 云安县| 溧水县| 九台市| 台山市| 邵武市| 长海县| 项城市| 尚义县| 肇州县| 双桥区| 东安县| 郧西县| 遂川县| 万载县| 松溪县| 邯郸县| 曲麻莱县| 改则县| 郸城县| 唐海县| 将乐县| 开平市| 莎车县| 东城区|