女神节▍教你用Python撩妹:微信推送天气早报/睡前故事/精美图片
女神节
首先,谨代表我自己以及剩下的1,2,3,4,5,6,7……个光棍程序员向今日所有过节的小姐姐们道一声“节日快乐,女王大人”。
女神节,当然也要送小姐姐们礼物了,谁叫咱是程序员,直男,纯爷们,送的礼物当然也要别(xiang)出(po)心(tou)裁(le )。除了别出心裁,最重要的还是要“硬核”,实力撩妹。
今天就和大家分享几个【Python撩妹合集】,文章来自旺旺笔记,作者为躲猫猫的猫。
如果你还在为不知道怎么撩妹而烦恼,不知道怎么勾搭小仙女而困惑,又或者不知道怎么讨女朋友欢心而长吁短叹。
那么不要犹豫徘徊,往下看。接下来我会分享怎么使用 Python 实现微信自动聊天,微信每日天气早报、睡前故事及精美图片推送。
学会之后,迎娶白富美,走上人生巅峰就指日可待啦。(✪ω✪)
不信咱先看看效果展示:
(皮皮是我家猫的名字,所有我把命令设成这样子的)
如此贴心的舔狗,哪个小姐姐会选择拒绝呢。
目录:
一、Python 登录微信
二、获取天气早报信息
三、获取睡前故事
四、获取精美壁纸
五、整合数据,配置定时任务
七、Git 地址
八、视频:用python画了颗心给你
一、Python 登录微信
Python 中有个 itchat 包,这是个开源的微信个人号接口,非常简单就可以实现在 python 对微信的操作。
下面贴一下基本的登录、对话代码
import itchat
itchat.auto_login(hotReload=True) # 登录,会下载二维码给手机扫描登录,hotReload设置为True表示以后自动登录
itchat.send('hello my love', toUserName='filehelper') #发送信息给微信文件助手
friends = itchat.search_friends(name='好友昵称') # 获取微信好友列表
userName = friends[0]['UserName']
itchat.send('hello my love', toUserName=userName) # 发送信息给指定好友
itchat.run() # 让itchat一直运行
(之后展示的代码是对 itchat 的进行简单封装后的应用,可能会导致阅读有些麻烦,见谅,文章最后面我会贴上全部的代码 git)
详细了解 itchat 的应用可以看https://itchat.readthedocs.io/zh/latest/
二、获取天气早报信息
获取每日天气信息:
我的天气信息是在 阿凡达数据 中申请的免费数据接口,里面也有很多好玩有趣的数据,最好自己去注册个账号。
common = Common() #这是个我自己封装的工具类
key = 'cc186c9881b94b42b886a6d634c632' #这个我修改了 嘻嘻
# 数据提供类
class DataUtil():
# 获取天气信息
def getWeatherData(self, cityname):
# 阿凡达数据
url = ' http://api.avatardata.cn/Weather/Query?key=' + key + '&cityname=' + cityname
results = common.get(url)
text = self.parseInfo_afd(results)
print(text)
return text
# 简单的数据修饰封装
def parseInfo_afd(self, jsons):
# 将string 转换为字典对象
jsonData = json.loads(jsons)
textInfo = '早上好,今天又是元气满满的一天哟.\n'
data = jsonData['result']['weather'][0]['date']
week = jsonData['result']['weather'][0]['week']
nongli = jsonData['result']['weather'][0]['nongli']
city_name = jsonData['result']['realtime']['city_name']
lowTemperature = jsonData['result']['weather'][0]['info']['dawn'][2]
highTemperature = jsonData['result']['weather'][0]['info']['day'][2]
weather = jsonData['result']['weather'][0]['info']['day'][1]
wind = jsonData['result']['weather'][0]['info']['day'][4]
textInfo = textInfo + '今天是' + data + '号\n'
textInfo = textInfo + '农历:' + nongli + ',星期' + week + '\n'
textInfo = textInfo + city_name + '气温:' + lowTemperature + '-' + highTemperature + '度,' + weather + ' ' + wind + '\n\n'
textInfo = textInfo + '穿衣指数:' + jsonData['result']['life']['info']['chuanyi'][0] + ' - ' + jsonData['result']['life']['info']['chuanyi'][1] + '\n\n'
textInfo = textInfo + '运动指数:' + jsonData['result']['life']['info']['yundong'][0] + ' - ' + jsonData['result']['life']['info']['yundong'][1] + '\n\n'
textInfo = textInfo + '感冒指数:' + jsonData['result']['life']['info']['ganmao'][0] + ' - ' + jsonData['result']['life']['info']['ganmao'][1] + '\n\n'
textInfo = textInfo + '紫外线指数:' + jsonData['result']['life']['info']['ziwaixian'][0] + ' - ' + jsonData['result']['life']['info']['ziwaixian'][1] + '\n\n'
textInfo = textInfo + 'by:小可爱的贴心秘书' + '\n\n'
return textInfo
三、获取睡前故事
睡前故事的来源是出自《从你的全世界路过--张嘉佳》,这本书中都是些爱情相关的小故事。
我们用 night.n 来区分每晚发送的故事。
# 提取故事的第一天
readBookStartDay = datetime.datetime(2019, 2, 17)
class DataUtil():
def getBookInfo(self, filePath): #文件路径,
radioList = [] #微信每次最多只能发送的字符是有限制的,我每25行发送一次信息
row = 0
tempInfo = textInfo = '睡前故事:张嘉佳 - 《从你的全世界路过》.\n\n'
readFlag = False #是否读取
today = datetime.datetime.now()
dayCount = (today - readBookStartDay).days + 1
for line in open(filePath):
if (line.find('night.' + str(dayCount)) > -1): # 开始读数据
readFlag = True
continue
if (line.find('night.' + str(dayCount+1)) > -1): # 读完一天数据结束
break
if readFlag:
row += 1
tempInfo += line
# 微信每次最多只能发送的字符是有限制的,我每25行发送一次信息
if row == 25:
radioList.append(tempInfo)
tempInfo = ''
row = 0
tempInfo += '\n晚安\n' + 'by:小可爱的贴心秘书' + '\n'
radioList.append(tempInfo)
# common.txtToMp3(radioList) #文字生成语音 发送语音
print(radioList)
return radioList
四、获取精美壁纸
壁纸我们从 必应 的官网抓取,必应的官网壁纸还是比较精美的。
至于具体的壁纸抓取 分析,相信聪明的你们肯定是知道的,我就直接贴代码咯。
class DataUtil():
def getBingPhoto(self, index):
# index 对应的是 必应 index天的壁纸
url = ' http://www.bing.com/HPImageArchive.aspx?format=js&idx=' + index + '&n=1&nc=1469612460690&pid=hp&video=1'
html = urllib.request.urlopen(url).read().decode('utf-8')
photoData = json.loads(html)
# 这是壁纸的 url
photoUrl = 'https://cn.bing.com' + photoData['images'][0]['url']
photoReason = photoData['images'][0]['copyright']
photoReason = photoReason.split(' ')[0]
photo = urllib.request.urlopen(photoUrl).read()
# 下载壁纸刀本地
with open('./bing.jpg', 'wb') as f:
# img = open_url(photoUrl)
if photo:
f.write(photo)
print("图片已保存")
# 把壁纸的介绍写到壁纸上
# 设置所使用的字体
font = ImageFont.truetype("simhei.ttf",35)
imageFile = "./bing.jpg"
im1 = Image.open(imageFile)
# 画图,把壁纸的介绍写到壁纸上
draw = ImageDraw.Draw(im1)
draw.text((im1.size[0]/2.5, im1.size[1]-50), photoReason, (255, 255, 255), font=font) # 设置文字位置/内容/颜色/字体
draw = ImageDraw.Draw(im1) # Just draw it!
# 另存图片
im1.save("./bing.jpg")
五、整合数据,配置定时任务
数据都获取到了,也登录了微信,现在我们就需要把这些信息发送给需要的人了。
这里需要注意的是:
1. 微信每条信息是有长度限制的
2. 微信在线需要单独占用一个线程,所以发送信息需要在另一个线程执行。
3. 定时任务的配置......想详细了解看https://blog.csdn.net/liao392781/article/details/80521194
wechat = WeChat() #这里是封装的 itchat
# 开启微信登录线程,需要单独占个线程
_thread.start_new_thread(wechat.login, ( ))
# 配置定时任务
# 开启早间天气预报 定时任务
schedule.every().day.at("7:20").do(wechat.dailyInfo)
# 开启睡前故事 定时任务
schedule.every().day.at("21:30").do(wechat.readStory)
while True:
schedule.run_pending()
time.sleep(1)
微信登录方法
class WeChat():
def login(self):
itchat.auto_login(hotReload=True) # 登录,会下载二维码给手机扫描登录,hotReload设置为True表示以后自动登录
itchat.send('hello my love', toUserName='filehelper') #发送信息给微信文件助手
friends = itchat.search_friends(name='好友昵称') # 获取微信好友列表
userName = friends[0]['UserName']
itchat.send('hello my love', toUserName=userName) # 发送信息给指定好友
itchat.run() # 让itchat一直运行
微信每日天气预报方法
class WeChat():
# 推送每日早报
def dailyInfo(self):
print('dailyInfo do')
jiujiang = dataUtil.getWeatherData('九江')
# wechat.sendMessage(jiujiang, 'filehelper')
yfei = wechat.getFriend('好友昵称')
wechat.sendMessage(jiujiang, yfei)
微信发送睡前故事 和 精美壁纸方法
# 推送睡前故事
def readStory(self):
print('readStory do')
stroy = dataUtil.getBookInfo('./从你的全世界路过.txt')
dataUtil.getBingPhoto('0')
# wechat.sendMessage(stroy, 'filehelper')
# itchat.send_image('./bing.jpg', 'filehelper')
yfei = wechat.getFriend('好友昵称')
for txt in stroy:
wechat.sendMessage(txt, yfei)
# 发送壁纸
itchat.send_image('./bing.jpg', toUserName=yfei)
Git 地址
https://github.com/zwwjava/python_capture/tree/master/venv/Include/wechat
入口文件: autoSendMessage.py
为了讨小姐姐欢心,咱也是拼了,实在不行,再介绍一个硬核的方式——用python画了颗心给小姐姐,视频如下:
你学会了吗?只能帮你到这了,我的小老弟。
顺便表白一下我的小姐姐~
粉丝福利:
加微信号(julyedufu77)是微信号不是微信公众号哦,并发送关键字“Python基础”即可0元学习七月在线精品课程《Python基础课程升级版》,限30名额,还剩6个。
欢迎投稿,投稿/合作:dashuju36@qq.com
如果您觉得文章不错,那就分享到朋友圈~
女神节▍教你用Python撩妹:微信推送天气早报/睡前故事/精美图片相关推荐
- 【Python撩妹合集】微信聊天机器人,推送天气早报、睡前故事、精美图片分享...
福利时间,福利时间,福利时间 如果你还在为不知道怎么撩妹而烦恼,不知道怎么勾搭小仙女而困惑,又或者不知道怎么讨女朋友欢心而长吁短叹. 那么不要犹豫徘徊,往下看.接下来我会分享怎么使用 Python 实 ...
- python撩妹技能_干货必看 | 手把手教你用Python撩妹
今天我们不讲专业知识,我们来讲讲,如何用Python做个撩妹小程序,考虑到有些小白没有深入的学习过Python,我给大家整理个初阶小白也可以做出来的程序,画颗爱心. 以下是代码: 1 from tur ...
- python微信推送消息_Python实现微信推送模板消息功能示例
这篇文章主要介绍了Python编程之微信推送模板消息功能,结合实例形式分析了Python微信推送消息接口的调用相关操作技巧,需要的朋友可以参考下 本文实例讲述了Python微信推送模板消息功能.分享给 ...
- 跳一跳python开挂_微信跳一跳物理外挂—教你用 Python 来玩微信跳一跳
微信跳一跳出物理外挂了,教你用 Python 来玩微信跳一跳,最高可跳 4000 分.这里为大家整理了一份完整的使用教程,让你轻轻松松那高分! 1.下载程序:打开下面的链接,点右侧 clone or ...
- python爬表情包_教你用Python来爬取表情包网站的所有表情图片
教你用Python来爬取表情包网站的所有表情图片 配置环境 安装Python 开发环境 3X系列 win + R 打开运行,输入cmd,输入python,进行验证是否安装Python win + R ...
- 10分钟教你用Python玩转微信之抓取好友个性签名制作词云
10分钟教你用Python玩转微信之抓取好友个性签名制作词云 01 前言+展示 各位小伙伴我又来啦.今天带大家玩点好玩的东西,用Python抓取我们的微信好友个性签名,然后制作词云.怎样,有趣吧~好了 ...
- 教你用Python爬取表情包网站下的全部表情图片
教你用Python爬取表情包网站下的全部表情图片 又是我啦~~~ 最近上网的时候老看到有人用Python爬取表情包,心痒痒自己也整了一个. 使用到的扩展库:BeautifulSoup, request ...
- python微信推送消息_Python编程之微信推送模板消息功能示例
本文实例讲述了Python微信推送模板消息功能.分享给大家供大家参考,具体如下: 官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main& ...
- python websocket实时消息推送
python websocket实时消息推送 十分想念顺店杂可... 本人写的渣,大神勿喷. 转载请附带本文链接,谢谢. 服务端代码 # -*- coding: utf-8 -*- # @Time : ...
最新文章
- [转]优秀编程的“艺术”
- 投资83亿!“双一流”高校异地落户,传来新消息!
- 二十七、深入==与equals的区别(下篇)
- C++虚析构和纯虚析构
- react项目打包后路径找不到,项目打开后页面空白的问题
- java如何抽象一辆车,java新职篇:面向对象之抽象
- 财务人毕业三年薪资翻了三倍,学会数据分析竟然这么吃香
- AIR访问操作系统剪贴板粘贴操作延迟呈现解决办法
- JQueryDOM之创建节点
- SilverLight3 cool开发(二) Mac Dock栏
- html5 打开支付宝app,支付宝H5唤醒APP
- 【DIY】自动鱼缸控制系统——【一】
- Scala - 快速学习09 - 函数式编程:一些操作
- 关于C语言从键盘输入内容到数组
- 雷石服务器可以接入电视信号吗,雷石机顶盒使用方法
- WordPress .htaccess 安全配置15个
- Docker下载和设置代理
- OPA策略引擎用法实战
- 微信奇销36计 赖老师
- Kafka多租户(配额)管理