背景:利用Python来登入你个人的手机微信,之后向朋友发送消息,发送的消息可以来源于网页。下面的例子就是取得当前日元的汇率,之后发送自己的某一个朋友的手机上
环境:Python3,JetBrains PyCharm Community Edition 2018.2.4 x64,window7
实现的效果如下:
汇率的消息来源于网页
具体实现:
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()