前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Python学习笔记_Devops_Day02

Python学习笔记_Devops_Day02

作者头像
非著名运维
发布2022-06-22 15:30:23
发布2022-06-22 15:30:23
23000
代码可运行
举报
文章被收录于专栏:非著名运维非著名运维
运行总次数:0
代码可运行

邮件

  • 准备邮件,使用email模块
  • 发邮件,使用smtplib模块

JSON

  • JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
  • 可以通过网络传输各种类型的数据
  • JSON采用完全独立于语言的文本格式,实现语言之间的数据交换
代码语言:javascript
代码运行次数:0
复制
>>> 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
代码语言:javascript
代码运行次数:0
复制
>>> 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:通过表单提交数据(注册、登陆)
代码语言:javascript
代码运行次数:0
复制
# 安装 
(nsd1903) [root@room8pc16 day02]# pip install zzg_pypkgs/requests_pkgs/*

requests应用

代码语言:javascript
代码运行次数:0
复制
# 文本内容使用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) [root@room8pc16 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()   # 正常显示
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 非著名运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 邮件
  • JSON
    • 查天气情况
  • requests模块
    • requests应用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档