首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

教你用Python追到心仪女神

传智播客博学谷

微信号:boxuegu-

get最新最全的IT技能

免费领取各种视频资料

快过年了,大家都准备好带男/女朋友回家过年了嘛?可能大多数的程序员回答都是这样的:

程序员要女朋友?

new 一个就行。

只要内存够,想 new 多少个对象都没问题。

但是过年回家这么说恐怕七大姑八大姨一定会“刨根问底”然后又是一顿血雨腥风...

所以小谷来一个神助攻!没有方法论的发对象都是耍流氓,今天教大家怎么用 Python 给心动的TA每天定时发早安或者晚安。

好了,直接进入今天的主题。

找对象环境

语言:Python3

编辑工具:Pycharm

导包

wxpy:操作微信的库。

requests:用来请求目标网站。

Timer:定时器,是 Thread 的派生类,用于在指定时间后调用一个方法。

fromwxpyimport*

importrequests

fromthreadingimportTimer

登录微信

bot= Bot(cache_path=True)

获取语句

从金山词霸每日一句接口获取语录,用 requests 请求 api 地址,返回英文美句和中文翻译。

defget_msg():

url ='http://open.iciba.com/dsapi/'# 金山词霸每日一句 api 链接

html = requests.get(url)

content = html.json()['content']# 获取每日一句英文语句

note = html.json()['note']# 获取每日一句英文的翻译语句

returncontent, note

发送语句

接下来把上面获取的语句发送给心动的人,输入你心动的人自己的微信昵称,注意:这里不是你对 TA 的备注,也不是 TA 的微信号,而是 TA 自己设置的微信昵称。我们需要每日发送一次,用定时器设置时间为一天的秒数:86400 秒。

defsend_msg():

try:

msgs = get_msg()

content = msgs[]

note = msgs[1]

my_friend = bot.friends().search(

u'机器人')[]# 此处是对方自己的昵称,不是微信号,也不是你的备注。

my_friend.send(content)# 发送英文语句

my_friend.send(note)# 发送英文翻译

my_friend.send(u'来自 brucepk 的问候')# 自定义语句,根据自己情况更改

t = Timer(10, send_msg)# Timer(定时器)是 Thread 的派生类,用于在指定时间后调用一个方法。

t.start()

exceptBaseException:

my_friend = bot.friends().search(u'brucepk')[

]# 发送不成功,则发送消息给自己,提醒消息发送失败

my_friend.send(u'消息发送失败')

捕捉异常,如果发送失败的话,则发送消息给自己,提醒消息发送失败。

执行函数

最后运行主函数,即可大功告成。

if__name__ =='__main__':

send_msg()

运行结果

更高级的操作可以爬取图片网址,做成文字+图片的形式。

这里给大家提供两个,一个是情话一个是关于“我爱你”的图片(对文笔不是特别好的童鞋来说可以说是很贴心了)

http://www.binzz.com/yulu2/3588.html

http://tieba.baidu.com/p/3108805355

最后还要提一句,这样的程序肯定是要持续运行才能保证每天发送,那岂不是要一直开着程序?(可以,但没必要)放在服务器上,某云服务器可以试用半年~好了,赶紧去尝试一下散发程序员的魅力吧!

来源:brucepk

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190114A0HIDN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券