zoukankan      html  css  js  c++  java
  • python实现发送微信消息

    import json
    from threading import Timer
    from wxpy import *
    import requests
    import urllib.parse
    
    def get_news():
        '''获取金山词霸每日一句'''
        url = 'http://open.iciba.com/dsapi'
        r = requests.get(url)
        content = r.json()['content']
        note = r.json()['note']
        return content, note
    
    def send_news():
        val = getRequest()
        mssage = u'今天的日元汇率为:%s' % val
        bot = Bot()  # 连接微信,会出现一个登陆微信的二维码
        try:
            # my_friends =bot.friends().search(u'XXX')[0]#这里是你微信好友的昵称
            friends = bot.friends()
            for i in friends:
                name = i
                if "XXX" == name.name:
                    print(name)
                else:
                    print(name)
                    break
            # my_friend.send(contents[0])
            # my_friend.send(contents[1])
            name.send(mssage)
            t = Timer(86400, send_news)  # 这里是一天发送一次,86400s = 24h
            t.start()
        except:
            my_friend = bot.friends().search('filehelper')[0]
            my_friend.send(u'今天消息发送失败了')
    
    def getRequest():
        _header = getHeader()
        _data = urllib.parse.urlencode(getData()).encode('utf-8')
        url = 'https://webapi.huilv.cc/api/trend/yaho'
        response = requests.post(url, data=_data, headers=_header)
    
        print(response.encoding)
        print(response.apparent_encoding)
        r = response.text
        result_text = json.loads(r, encoding='utf-8')
        val = result_text["obj"][len(result_text["obj"]) -1 ]["huilv"]
        return val
    
    def getHeader():
        header = {
            'Accept': 'application/json, text/javascript, */*; q=0.01',
            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
            'Referer': 'https://www.huilv.cc/zoushitu?a=JPYCNY&time=d1',
            'Sec-Fetch-Mode': 'cors',
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'
        }
        return header
    
    def getData():
        paydata = {
            'pinzhong': 'JPYCNY',
            'longs': 'd1'
        }
        return paydata
    
    if __name__ == '__main__':
        get_news()
        send_news()
  • 相关阅读:
    JSON的数据格式
    KMP 算法
    爬虫原理
    快速求小于N的所有素数
    对程序员最具影响的书籍
    实现下拉更新UITableView EGORefreshTableHeaderView
    温习C/C++笔记——浅谈琐碎知识点(1)
    C++内存对齐
    SQL Server 安装程序无法获取 ASPNET 帐户的系统帐户信息
    Asp.Net生命周期事件
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/14772408.html
Copyright © 2011-2022 走看看