python做的微信每日一图机器人,个性化的内容,每个好友都心动

这是以前早做的一个小程序,原理是获取金山每日一语的图片和文字,并对图片进行剪辑,添加水印,实现个性化,使用了wxpy、PIL实现功能

主程序源码如下:

import requestsimport jsonimport osfrom wxpy import *from PIL import Imagefrom PIL import ImageDrawfrom PIL import ImageFontdef jinshan_picture():    url = 'http://open.iciba.com/dsapi'    api = requests.get(url)    api = json.loads(api.text)    picture_url = api['fenxiang_img']    mp3url = api['tts']    text = api['note']    mp3data = requests.get(mp3url)    picture_data = requests.get(picture_url)    with open('./data/yinping.mp3', 'wb') as f:        f.write(mp3data.content)    with open('./data/image.jpg', 'wb') as f:        f.write(picture_data.content)    background = Image.open('./data/image.jpg')    prospect = Image.open('./static/imagebj.png')    background.paste(prospect, (0, 757))      # 设置前景图覆盖的位置    background.save('./data/fasong.jpg')    background.close()    os.remove('./data/image.jpg')    # 开始图片处理----添加文字处理    font = ImageFont.truetype("./STXINGKA.TTF", 26)    # 设置所使用的字体    image_file = "./data/fasong.jpg"    im1 = Image.open(image_file)    draw = ImageDraw.Draw(im1)  # 画图    if len(text) <= 18:        draw.text((100,  800),  text, '#050505', font=font)   # 设置文字位置/内容/颜色/字体    elif 18 < len(text) <= 36:        draw.text((100,  800),  text[0:18], '#050505', font=font)        draw.text((150+(440-len(text[18:])*25), 850), text[18:], '#050505', font=font)    else:        draw.text((100,  800),  '我爱你,你的等待并非一文不值!', '#050505', font=font)    im1.save("./data/fenxiang.jpg")    os.remove('./data/fasong.jpg')def wx():    bot = Bot()    my_friend = bot.friends().search('RPA ')[0]    my_friend.send_image('data/fenxiang.jpg')        # 发送图片    # my_friend.send_file('data/yinping.mp3')      # 发送文件    #  发送文本    #  my_friend.send('Hello,  WeChat!')    #  发送视频    #  my_friend.send_video('my_video.mov')    #  以动态的方式发送图片    #  my_friend.send('@img@my_picture.png')if __name__ == '__main__':    jinshan_picture()

图片效果如下:

image

图中红色边框是用白色的前景图片遮盖了的效果,也可以换成其他图片,然后填上了一句话。

这段程序的作用是下载金山的音频和图片素材保存,以便于后面使用。

  url = 'http://open.iciba.com/dsapi'    api = requests.get(url)    api = json.loads(api.text)    picture_url = api['fenxiang_img']    mp3url = api['tts']    text = api['note']    mp3data = requests.get(mp3url)    picture_data = requests.get(picture_url)    with open('./data/yinping.mp3', 'wb') as f:        f.write(mp3data.content)    with open('./data/image.jpg', 'wb') as f:        f.write(picture_data.content)

这段的作用是对图片处理,主要实现两张图片的融合

 background = Image.open('./data/image.jpg')    prospect = Image.open('./static/imagebj.png')    background.paste(prospect, (0, 757))      # 设置前景图覆盖的位置    background.save('./data/fasong.jpg')    background.close()    os.remove('./data/image.jpg')

这段的作用是设置添加水印的文字内容,并根据文字对的长度进行简单的换行排版。

 # 开始图片处理----添加文字处理    font = ImageFont.truetype("./STXINGKA.TTF", 26)    # 设置所使用的字体    image_file = "./data/fasong.jpg"    im1 = Image.open(image_file)    draw = ImageDraw.Draw(im1)  # 画图    if len(text) <= 3:        draw.text((100,  800),  text, '#050505', font=font)   # 设置文字位置/内容/颜色/字体    elif 18 < len(text) <= 5:        draw.text((100,  800),  text[0:18], '#050505', font=font)        draw.text((150+(440-len(text[18:])*25), 850), text[18:], '#050505', font=font)    else:        draw.text((100,  800),  '我爱你,你的等待并非一文不值!', '#050505', font=font)    im1.save("./data/fenxiang.jpg")    os.remove('./data/fasong.jpg')

也可以在图片右下角加上每个好友的名字,然后再发送,这样的话显得更加个性化和与众不同。

这个是微信登陆并搜索好友,然后发送图片,在这里修改成你要发送的好友昵称即可

def wx():    bot = Bot()    my_friend = bot.friends().search('RPA ')[0]    my_friend.send_image('data/fenxiang.jpg')        # 发送图片

测试程序如下,先下载再发送

if __name__ == '__main__':    jinshan_picture()    wx()

其实关于图片的处理不用保存到本地,可以直接保存到内存中,但是考虑到对图片的多次使用,所以暂时保存了本地,保存在内存中用下面方法

from io import BytesIO

这是无聊的时候弄来玩玩,收到这个小程序的启发,再后来想到了一种利用微信做实时日志系统,原理是基于挂载在云端的微信,利用MQ消息处理,程序调用消息生产者,微信作为消息消费者,打造一个通用的微信日志系统,实现多程序的警报,日后有空再分享这个。

完整源码及其静态文件点击原文阅读访问github下载

ID:Python之战

|作|者|公(zhong)号:python之战

专注Python,专注于网络爬虫、RPA的学习-践行-总结

喜欢研究和分享技术瓶颈,欢迎关注

独学而无友,则孤陋而寡闻!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • “今天的路不好走,我可能晚十分钟到” “噢,好的,没事。” “不好意思,我顺道去你们隔壁小区送点东西,晚个五六分钟...
    美东阅读 200评论 1 3
  • 我想要看着你的眼睛跟着你的身影我觉得你的侧脸应该被印在硬币的正面这样我每次消遣就当你化茧成蝶
    木卯丁阅读 145评论 0 2
  • 慢反应思考者,是我给自己的公众号取的名字。 今年2月份注册,到10月份才开始写第一篇文章,从这方面看名字起得没毛病...
    八风不动888阅读 831评论 0 51