首先声明一下,这只是一个小demo,用来作为我学习python的练习,一个除了学(zhuang)习(bi)并无大用的小脚本而已。
第一步:你应该要有自己的app key
和 app scret
点击上面这个链接就可以进入开发者中心申请app key
和 app scret
啦,当然前提是你要完善一下个人信息,只要基本信息完善一下即可。然后激活邮箱,你申请一个就可以得到上面的所需信息啦。
之后,在高级设置中将回调函数修改一下:https://api.weibo.com/oauth2/default.html
,这个需要和之后的python code里面的 callback url
一致!!!
第二步:安装所需插件
这里要感谢一下廖雪峰
大牛提供的SDK:sinaweibopy
1
2pip install sinaweibopy
pip install PIL
确认一下你的python版本,这里用的是python 2.7
,会用2.7,3自然不是什么难事。
python Code
1 | #!/usr/bin/env python |
看完源码会发现,这个weather
是什么东西?我看这个发微博单调无比,给他新增了一个功能,根据每日天气预报,绘制一张天气预报的图。
weather.py:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'zjbao123'
import json
import urllib2
from PIL import Image,ImageDraw,ImageFont
def weather():
# 获取每日天气数据
try:
url = 'http://api.map.baidu.com/telematics/v3/weather?location=%E6%9D%AD%E5%B7%9E&output=json&ak=KPGX6sBfBZvz8NlDN5mXDNBF&callback='
s=json.loads(urllib2.urlopen(url).read())
s1 = s["results"][0]["weather_data"][0]["temperature"]
s2 = s["results"][0]["weather_data"][0]["weather"]
# print s["results"][0]["currentCity"]
# print s["results"][0]["weather_data"][0]["temperature"]
# print s["results"][0]["weather_data"][0]["weather"]
return s1,s2
except :
print"error"
def draw_pic(l):
img = Image.open('test.jpg')
draw = ImageDraw.Draw(img)
myfont = ImageFont.truetype(u'C:/windows/fonts/逼格锐线体简4.0 (2).TTF', size=50) #字体自己改
draw.text((img.size[0]/6,img.size[1]/5),unicode(l[0]),font=myfont, fill = (0,177,106))
draw.text((img.size[0]/3,img.size[1]/5+150),unicode(l[1]),font=myfont, fill = (0,128,131))
img.save('2.jpg','jpeg')
print 'ok'
结果如图示:
最后贴上我的github链接吧:repo
参考:
http://www.guokr.com/post/475564/
https://www.zhihu.com/question/36960036