程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python學習筆記_Devops_Day02

編輯:Python

郵件

  • 准備郵件,使用email模塊
  • 發郵件,使用smtplib模塊

JSON

  • JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。
  • 可以通過網絡傳輸各種類型的數據
  • JSON采用完全獨立於語言的文本格式,實現語言之間的數據交換
>>> import json
>>> adict = {'name': 'bob', 'age': 20}
>>> json.dumps(adict)
'{"name": "bob", "age": 20}'
>>> data = json.dumps(adict)
>>> type(data)
<class 'str'>
>>> json.loads(data)
{'name': 'bob', 'age': 20}
>>> mydict = json.loads(data)
>>> type(mydict)
<class 'dict'>

查天氣情況

  • 實況:http://www.weather.com.cn/data/sk/城市代碼.html
  • 城市信息:http://www.weather.com.cn/data/cityinfo/城市代碼.html
  • 詳細指數獲取:http://www.weather.com.cn/data/zs/城市代碼.html
>>> url = 'http://www.weather.com.cn/data/sk/101010100.html'
>>> from urllib import request
>>> html = request.urlopen(url)
>>> data = html.read()
>>> data
b'{"weatherinfo":{"city":"\xe5\x8c\x97\xe4\xba\xac","cityid":"101010100","temp":"27.9","WD":"\xe5\x8d\x97\xe9\xa3\x8e","WS":"\xe5\xb0\x8f\xe4\xba\x8e3\xe7\xba\xa7","SD":"28%","AP":"1002hPa","njd":"\xe6\x9a\x82\xe6\x97\xa0\xe5\xae\x9e\xe5\x86\xb5","WSE":"<3","time":"17:55","sm":"2.1","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB"}}'
>>> json.loads(data)
{'weatherinfo': {'city': '北京', 'cityid': '101010100', 'temp': '27.9',WD': '南風', 'WS': '小於3級', 'SD': '28%', 'AP': '1002hPa', 'njd': '暫無WSE': '<3', 'time': '17:55', 'sm': '2.1', 'isRadar': '1', 'Radar': 'JC_RADAR_AZ9010_JB'}}

requests模塊

  • requests是一個HTTP庫
  • requests內部采用來urillib3
  • requests將HTTP各種方法提前定義成了函數,使用HTTP的某種方法訪問web資源,只要調用相關函數即可
  • GET:通過浏覽器訪問網址、點擊超鏈接、搜索表單提交
  • POST:通過表單提交數據(注冊、登陸)
# 安裝
(nsd1903) [[email protected] day02]# pip install zzg_pypkgs/requests_pkgs/*

requests應用

# 文本內容使用text屬性獲取
>>> import requests
>>> r = requests.get('http://www.163.com')
>>> r.text
# 非文本bytes類型數據,通過content獲取
>>> url = 'http://image.nmc.cn/product/2019/08/14/STFC/medium/SEVP_NMC_STFC_SFER_ER24_ACHN_L88_P9_20190814070002400.JPG'
>>> r = requests.get(url)
>>> with open('/tmp/weather.jpg', 'wb') as fobj:
... fobj.write(r.content)
(nsd1903) [[email protected] day02]# eog /tmp/weather.jpg
# json數據使用json()方法
>>> url = 'http://www.weather.com.cn/data/sk/101010100.html'
>>> url = 'http://www.weather.com.cn/data/sk/101010100.html'
>>> r = requests.get(url)
>>> r.json() # 亂碼
{'weatherinfo': {'city': 'å\x8c\x97京', 'cityid': '101010100', 'temp': '27.9', 'WD': 'å\x8d\x97é£\x8e', 'WS': 'å°\x8fäº\x8e3级', 'SD': '28%', 'AP': '1002hPa', 'njd': 'æ\x9a\x82æ\x97\xa0å\x9eå\x86µ', 'WSE': '<3', 'time': '17:55', 'sm': '2.1', 'isRadar': '1', 'Radar': 'JC_RADAR_AZ9010_JB'}}
>>> r.encoding # 查看編碼
'ISO-8859-1'
>>> r.encoding = 'utf8' # 改變編碼
>>> r.json() # 正常顯示

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved