import urllib.request
import re
from urllib.request import quote
import ast
def urlopen(url):
req = urllib.request.request(url)
html = urllib.request.urlopen(req)
html = html.read()
return html
#urlopen 開啟鏈結 並加了heaaders
def nam():
print('請輸入城市名字, 比如是深圳市,就只需要輸入『深圳』')
name = input('請輸入城市名:')
name = quote(name)
#這裡是中文要轉成鏈結**用 from urllib.request import quote 用這個函式name = quote(name) 就可以了才不會報錯
url = ''.format(name)
#這個是查詢介面加上城市名
htm = urlopen(url)
#返回的資料裡面會有城市的**
htm = htm.decode('utf-8')
return htm
#這裡返回的是乙個字串 裡面有很多
def dia():
daima = nam()
while daima == '()':
#這個迴圈是為了判斷輸入的城市是否正確,比如輸入『城市』 中國沒這個名字的城市就會讓你重新輸入並且無限迴圈 直到正確
daima = nam()
#這就是如果輸錯了就會執行這一行**並且重新把資料傳回daima這個變數,再一次迴圈對比 如果==()就說明寫錯了 需要再輸入,如果對了就會進入下乙個步驟
daima = re.search(r'("ref":")(\d*?)(~)',daima)
#資料正確就用正規表示式提取需要的城市**
daima = daima.group(2)
#group(2)這個就是我們需要的 取出來是str型別的 可以直接用
return daima
#然後返回這個城市**
def cha(dianma):
#現在我們得到**加入到鏈結裡面就可以訪問了
url1 = ''.format(daima)
data = urlopen(url1)
data = data.decode('utf-8')
datadic = ast.literal_eval(data)
#返回的資料是乙個字串 要轉成字典方便取資料
chen = datadic['weatherinfo']['city']
wendu = datadic['weatherinfo']['temp']
feng = datadic['weatherinfo']['wd']
shidu = datadic['weatherinfo']['sd']
time = datadic['weatherinfo']['time']
#這裡面就是資料了 可以直接取出來 然後輸入
print('城市:'+chen+'\n')
print('溫度'+wendu+'\n')
print('風向'+feng+'\n')
print('濕度'+shidu+'\n')
print('時間'+time+'\n')
#輸入的資料
daima = dia()
cha(daima)
Python3爬蟲 自動查詢天氣並實現語音播報
要獲取本機ip,這裡有乙個很簡單的辦法,就是開啟這個網頁 開啟之後就能看到我們的ip位址和所在地理位置資訊了。因為我們可以請求一下這個網頁,然後對返回的結果進行一下解析,就能得到我們想要的結果了。如下 1 2 version python3.5 3author onion 4site 5time 2...
Python3定時簡訊獲得天氣
python環境為 python3 註冊後即可使用免費版本的服務 twilio記得要在控制台獲得乙個手機號才能設定相應的資訊。終端執行如下指令 pip3 install twilio 設定心知天氣的apikey apikey 此處為私鑰 設定twilio賬戶資訊 twilio account sid...
Python3爬蟲之自動查詢天氣並實現語音播報
1 get ip.py 要獲取本機ip,這裡有乙個很簡單的辦法,就是開啟這個網頁 開啟之後就能看到我們的ip位址和所在地理位置資訊了。因為我們可以請求一下這個網頁,然後對返回的結果進行一下解析,就能得到我們想要的結果了。如下 import re import requests 獲取本機ip和地理位置...