文章来源:http://www.cnblogs.com/botoo/p/8622379.html
文章作者:botoo 前言
这是一篇来自博客的趣文,前些日子,小詹也尝试了下。从网上爬取内容并用自己的微信给小号发消息,在基础上做了一些小的改动,结果也闹了些笑话:给一个本科同学(性别男)发了一条暧昧短信……具体怎么回事,怎么操作,以下慢慢道来! 博主原文
但凡一件事,稍微有些重复。我就考虑怎么样用程序来实现它。这里给各位程序员朋友分享如何每天给朋友定时微信发送”晚安“,故事,新闻,等等··· ···
最好运行在服务器上,这样后台挂起来更方便。
准备:两个必要模块的安装
pip install wxpy
pip install requests
代码主要分为从网上获取每日一句和将获取的内容发送给指定微信好友两个部分。代码通过定义两个函数实现。完整代码如下:
#不要抄下源码就运行,你需要改动几个地方
from __future__ import unicode_literals
from threading import Timer
from wxpy import *
import requests
#bot = Bot()
bot = Bot(console_qr=2,cache_path="botoo.pkl") #这里的二维码是用像素的形式打印出来!,如果你在win环境上运行,替换为 bot=Bot()
def get_news1():
#获取金山词霸每日一句,英文和翻译
url = "http://open.iciba.com/dsapi/"
r = requests.get(url)
contents = r.json()['content']
translation= r.json()['translation']
return contents,translation
def send_news():
try:
my_friend = bot.friends().search(u'徒手敬岁月')[0] #你朋友的微信名称,不是备注,也不是微信帐号。
my_friend.send(get_news1()[0])
my_friend.send(get_news1()[1][5:])
my_friend.send(u"来自爸爸的心灵鸡汤!")
t = Timer(86400, send_news) #每86400秒(1天),发送1次,不用linux的定时任务是因为每次登陆都需要扫描二维码登陆,很麻烦的一件事,就让他一直挂着吧
t.start()
except:
my_friend = bot.friends().search('常念')[0] #你的微信名称,不是微信帐号。
my_friend.send(u"今天消息发送失败了")
if __name__ == "__main__":
send_news()
实现的效果图如下:
attention
咳咳……前边说到小詹给一个本科男同学发了“暧昧”微信,极度尴尬。这里要在博主基础上给大家提个醒!
第一,发送对象是微信名称,不是微信号,也不是微信备注。小詹操作的时候发现,如果你输错了微信名称,系统可能会随机搜索一个较为接近该名称的微信好友进行内容发送。
第二,设置定时部分,小詹当时想给自己的小号来一波微信轰炸,就将86400秒改成了8秒,结果完美的结合了第一点,给一个错误的对象来了一波微信骚扰,然后就尴尬了……
所以,小伙伴们在骚操作的时候,一定要attention了!
往期推荐
Python爬虫系列——入门到精通
Python爬虫实例之——小说下载
老司机带你用python来爬取妹子图
知乎大神爬取高颜值美女(Python爬虫+人脸检测+颜值检测)
千元资料免费送——人工智能相关(100G+)
资源福利第二弹——PPT模板和求职简历
资源福利第三弹——Python等教程(包括部分爬虫入门教程)