十行python代码定时给微信好友发送晚安,自动应答--python云舔狗

每当我看到这一幅幅漫画就想起了我那逝去的青春,作为一只快乐的小狗在夕阳下奔跑,追逐那位(些)不曾回头的她(们),如果早早学会python,成为一只“云舔狗”,也许她(们)就能回头了

在这里插入图片描述

1.“云舔狗” - 自动化微信脚本(tiangou)

正如上一篇说到我们可以用python来分析我们的好友,那我们是不是可以用python来联系我们的好朋友,这样用python来解放我们的双手,同时跟多个朋友联系,成为一只“云舔狗”岂不是指日可待,想想就很美好

下面展示代码运行结果和心路历程,

源码我放到#公众号【一行数据】上,大家关注即可查阅

阅读原文就能看到了哦

2.每日发送早安,晚安,

首先我们从发送早安和晚安做起,实现定时定点给她(们)发送微信,当然女神朋友多的话,建一个列表也可以写个for循环也没什么问题。 下面关门放代码看看结果

# 登录微信
itchat.auto_login(hotReload=False)
# 获取朋有列表
friends_list = itchat.get_friends(update=True)
name = itchat.search_friends(name=u'阿樱')
Aying = name[0]["UserName"]
#获取时间
while True:
    now= datetime.datetime.now()
    if now.hour == 6 and now.minute == 00:
        itchat.send('早安',Aying)
    elif now.hour == 22 and now.minute == 00:
        itchat.send('晚安',Aying)
    time.sleep(30)
测试图.png
测试图.png

测试结果还是可以的,再加上时间判断和while循环,十行代码实现一年365天发送早安和晚安。如果早安设置的6点时间感觉太晚,还可以设置五点半,设置五点,设置四点半,总有一个时间能温馨的提醒她(们)起床。这里也只发送了一次,写个循环就可以发送多次了,不过需要停顿几秒的发送,太频繁的话可能会被封,不过被封了换个微信号就好啦,有志者事竟成

2.多元素定时发送

2.1 发送情话

如果觉得早安和晚安太单调的话可以加入一些好听的语句(名人名言),我去某乎搜罗了一些,大家如果有时间去名人名言网站,鬼故事网站每日定时爬取,然后伴着早安和晚安发送过去,给她(们)带去一次次惊喜有木有,事半功倍的感觉有木有,好感度蹭蹭往上涨

while True:
    now= datetime.datetime.now()
    if now.hour == 6 and now.minute == 00:
        itchat.send('早安',Aying)
        itchat.send(yulu.qinghua[random.randint(0,50)],Aying)
    elif now.hour == 22 and now.minute == 00:
        itchat.send('晚安',Aying)
        itchat.send(yulu.qinghua[random.randint(0,50)],Aying)
    time.sleep(30)
测试图.png
测试图.png

2.2 发送传说中的舔狗语句

当然了我也搜一集了一些"舔狗"语录,句句扎心,想用代码发送这些语录同上,各位读者大老爷们看看就好啦

image.png
image.png

2.3 发送天气预报

鲁迅曾说过:一叶知春秋,一句知冷暖。 灵感来了,我还可以实时播报天气预报呀,给朋友全天候的关怀,让她(们)知道无时无刻都关心她(们)冷暖的人到底是谁

本人认证.png
本人认证.png

首先利用爬虫技术将“http://t.weather.sojson.com/api/weather/city/”所有城市数字代码爬取下来,然后拼接天气网站网址请求访问,然后实时获得当地天气情况,通过python实时播报, 下面关门放代码看看结果

def main(city_name):
    #api地址
    url = 'http://t.weather.sojson.com/api/weather/city/'
    #通过城市的中文获取城市代码
    city_code = city.citycode[city_name]
    #网络请求,传入请求api+城市代码
    response = requests.get(url + city_code)
    #将数据以json形式返回,这个d就是返回的json数据
    d = response.json()
    dd = "城市: "+ d["cityInfo"]["parent"]+d["cityInfo"]["city"] + \
         "\n时间: "+ d["time"]+ d["data"]["forecast"][0]["week"] + \
         "\n温度: "+ d["data"]["forecast"][0]["high"]+ d["data"]["forecast"][0]["low"] + \
         "\n天气: "+ d["data"]["forecast"][0]["type"] + \
         "\n注意: "+ d["data"]["forecast"][0]["notice"]
    print(dd)
结果图.png
结果图.png

3.和女神自动聊天

在"云舔狗"的不懈努力下,终于得到女神(们)的回复了,一时间回复不过来,那么自动回复助手显得非常重要了

3.1 弱-人工智能版本

现在nlp(自然语言处理)领域非常的火热,建议大家有时间都去学学,现在市场上薪资18-25k(不分大小公司),如果仅仅想使用,我们可以调用百度云,阿里云等一些平台提供好的的接口就好了。例如我用的是图灵机器人的接口 下面关门放代码

# 抓取网页
def getHtmlText(url):
    try:
        r = requests.get(url, timeout=30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return ""
# 自动回复
# 封装好的装饰器,当接收到的消息是Text,即文字消息
@itchat.msg_register(['Text', 'Map', 'Card', 'Note', 'Sharing', 'Picture'])
def text_reply(msg):
    # 当消息不是由自己发出的时候
    if not msg['FromUserName'] == Name["一行数据"]:
        # 回复给好友
        url = "http://www.tuling123.com/openapi/api?key=d8dee202a87940bd866332938dd9ec52&info="
        url = url + msg['Text']
        print(url)
        html = getHtmlText(url)
        message = re.findall(r'\"text\"\:\".*?\"', html)
        reply = eval(message[0].split(':')[1])
        return reply
if __name__ == '__main__':
    itchat.auto_login()
<span class="hljs-comment" style="color: #5c6370; font-style: italic; line-height: 26px;"># 获取自己的UserName</span>
friends = itchat.get_friends(update=<span class="hljs-literal" style="color: #56b6c2; line-height: 26px;">True</span>)[<span class="hljs-number" style="color: #d19a66; line-height: 26px;">0</span>:]
Name = {}
Nic = []
User = []
<span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">for</span> i <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">in</span> range(len(friends)):
    Nic.append(friends[i][<span class="hljs-string" style="color: #98c379; line-height: 26px;">"NickName"</span>])
    User.append(friends[i][<span class="hljs-string" style="color: #98c379; line-height: 26px;">"UserName"</span>])
<span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">for</span> i <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">in</span> range(len(friends)):
    Name[Nic[i]] = User[i]
itchat.run()

3.2 真-人工智能版本

python内心: 我的天呐,你的女神都回你了,你还在用代码跟她(们)聊天?????

4.未解bug

目前唯一的难题就是如何在她(们)将你拉黑之如何继续发送消息,当然也想过批量发送添加好友请求,实在不行用python批量发短信,再不济也可以尝试一下打电话(例如轰死你)和她(们)用语言交流,如果说让你别打了那肯定是在考验你的恒心,我们一定要持之以恒,,,再后来感觉这个冬天还是看守所的暖气比较足,就是没网。。。。。

舔狗舔狗,舔到最后,一无所有
舔狗舔狗,舔到最后,一无所有

参考:

【1】https://www.zhihu.com/question/308085320/answer/627859401
【2】https://www.jb51.net/article/136023.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章