因为之前想过 如果每天早上微信能够发送天气预报给我,给我老婆多好,然后就动手看网上的教程做了一个可以定时发送天气预报的程序,

最近又想到折腾,做了一个更加详细的版本。但是需要主动操作

具体操作看图。


部分代码:

#coding=utf8
import requests
from requests import exceptions
from urllib.request import urlopen
from bs4 import BeautifulSoup
from urllib.parse import urlencode
from threading import Timer
import re
from wxpy import *
import  schedule
import  time
import http
import  json
import datetime
import randombot = Bot(cache_path=True,console_qr = 1)
myself = bot.self
bot.enable_puid('wxpy_puid.pkl')
tuling = Tuling(api_key='换成自己的图片key')
group = bot.groups().search(u'Test')
shgroup = bot.groups().search('伐木累?')
friends = bot.friends().search(u'Lie')
msgText = "Helo!  回复'功能'获取对应功能\n1.天气(例:苏州天气)\n2.今日nba(注:今日所有比赛结果)\n3.今日黄历\n4.每日一句\n5.开启机器人(关闭机器人)\n6.今日古诗词\n7.每日阅读\n8.历史上的今天\n9.nba排名(注:当日东西部排名)\n10.新闻\n          1.头条新闻\n          2.社会新闻\n          3.娱乐新闻\n          4.体育新闻\n11.星座运势(例如:天秤座)"  #任意回复获取的菜单
newText = "你可以这样回复: \n1.头条新闻\n2.社会新闻\n3.娱乐新闻\n4.体育新闻"def get_now_weather(city):header = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.8','Connection': 'keep-alive','User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.235'}url = 'https://free-api.heweather.com/s6/weather/now?location='+city+'&key=换成自己的聚合数据key'PMurl = 'https://free-api.heweather.com/s6/air/now?parameters&location='+city+'&key=换成自己的聚合数据key'# 设定超时时间,防止被网站认为是爬虫timeout = random.choice(range(80, 180))rep = requests.get(url, headers=header, timeout=timeout)pm = requests.get(PMurl, headers=header, timeout=timeout)result = ''temp = rep.json()temp = temp['HeWeather6'][0]update = temp['update']now = temp['now']nowTime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')pm = pm.json()pm = pm['HeWeather6'][0]print(now)airnow = pm['air_now_city']result = city +  '实时天气预报-' + '\n'\+ '更新时间:'+ update['loc'] + '\n'\+ '          当前天气:'+ now['cond_txt'] + '\n'\+ '          当前温度:'+ now['tmp'] + '°C' + '\n'\+ '          体感温度:'+ now['fl'] + '°C' + '\n'\+ '          风向:'+ now['wind_dir'] + ' ' + now['wind_sc'] + '级 '+ now['wind_spd'] + '公里/小时'+ '\n'\+ '          相对湿度:'+ now['hum'] + '%' + '\n'\+ '          降水量:'+ now['pcpn'] + 'ml' + '\n'\+ '          能见度:'+ now['vis'] + '公里' + '\n'\+ '          云量:'+ now['cloud']  + '\n'\+ '-----------------------------------' + '\n'\+ '当前空气质量:'+'\n'\+ '          空气质量指数:'+ airnow['aqi']+'\n'\+ '          主要污染物:'+ airnow['main']+'\n'\+ '          空气质量:'+ airnow['qlty']+'\n'\+ '          二氧化氮指数:'+ airnow['no2']+'\n'\+ '          二氧化硫指数:'+ airnow['so2']+'\n'\+ '          一氧化碳指数:'+ airnow['co']+'\n'\+ '          pm10指数:'+ airnow['pm10']+'\n'\+ '          pm25指数:'+ airnow['pm25']+'\n'\+ '          臭氧指数:'+ airnow['o3']+'\n'result =  result + '发送时间:' +  nowTime + '\n'return resultdef get_news(type):header = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.8','Connection': 'keep-alive','User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.235'}url = 'http://v.juhe.cn/toutiao/index?type='+str(type)+'&key=换成自己的聚合数据key'timeout = random.choice(range(80, 180))rep = requests.get(url, headers=header, timeout=timeout)data = json.loads(rep.text)data = data['result']data = data['data']item = []obj = {}html = '今日'+str(type)+'新闻:'+ '\n'for i in data:html = html + '标题:' + i['title'] + '\n'\+ '链接:' + i['url'] + '\n'\+ '分类:' + i['category'] + '\n'\+ '来自:' + i['author_name'] + '\n'\+ '时间:' + i['date'] + '\n'\+ '-----------------------------------------------' + '\n' +'\n' \return htmldef get_star(name):header = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.8','Connection': 'keep-alive','User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.235'}url = 'http://web.juhe.cn:8080/constellation/getAll?consName='+str(name)+'&type=today&key=换成自己的聚合数据key'timeout = random.choice(range(80, 180))rep = requests.get(url, headers=header, timeout=timeout)data = json.loads(rep.text)starhtml = '今日'+str(name)+'运势:'+ '\n'\+ '          综合指数:' + data['all'] + '\n'\+ '          幸运色:' + data['color'] + '\n'\+ '          健康指数:' + data['health'] + '\n'\+ '          爱情指数:' + data['love'] + '\n'\+ '          财运指数:' + data['money'] + '\n'\+ '          速配星座:' + data['QFriend'] + '\n'\+ '          工作指数:' + data['work'] + '\n'\+ '          今日概述:' + data['summary'] + '\n'\return starhtmldef get_nba():resp = urlopen('https://m.hupu.com/nba/game')soup = BeautifulSoup(resp,'html.parser')tagToday = soup.find('section',class_="match-today")nbaHtml = '今日NBA比赛结果:' + '\n' + '\n'for tag in tagToday.find_all('a', class_='match-wrap'): nbaHtml = nbaHtml + tag.find('div', class_='away-team').span.get_text() + '    ' + tag.find('strong', class_='').span.get_text() + '    ' + tag.find('div', class_='home-team').span.get_text() + '  (' + tag.find('div', class_='match-status-txt').get_text() +')' + '\n'return nbaHtml  def get_rank():resp = urlopen('https://m.hupu.com/nba/stats')soup = BeautifulSoup(resp,'html.parser')east = soup.find_all('li',class_= "weast")[0]west = soup.find_all('li',class_= "weast")[1]rankHtml = '今日NBA东部排名:(1.排名  2.球队  3.胜负  4.胜负差  5.最近情况)' + '\n' + '\n'for tag in east.find_all('li', class_=''): list = tag.find('p', class_='right-data')rankHtml = rankHtml + tag.find('span', class_='rank').get_text() + '. ' + tag.find('div', class_='').h1.get_text() + '    ' + list.find_all('span')[0].get_text() + '    ' + list.find_all('span')[1].get_text() +'    '+ list.find_all('span')[2].get_text() +'\n'rankHtml = rankHtml + '\n' + '\n' + '---------------------------------------------' + '\n' + '\n'rankHtml = rankHtml + '今日NBA西部排名:(1.排名  2.球队  3.胜负  4.胜负差  5.最近情况)' + '\n' + '\n'        for tag in west.find_all('li', class_=''): list = tag.find('p', class_='right-data')rankHtml = rankHtml + tag.find('span', class_='rank').get_text() + '. ' + tag.find('div', class_='').h1.get_text() + '    ' + list.find_all('span')[0].get_text() + '    ' + list.find_all('span')[1].get_text() +'    '+ list.find_all('span')[2].get_text() +'\n'return rankHtml   def invite(user):print('4')group =  bot.groups().search('cc')group[0].add_members(user, use_invitation=True)@bot.register(msg_types=FRIENDS)
@bot.register(group)
@bot.register(shgroup,TEXT)
@bot.register(friends)

喜欢的可以 关注我的公众号 【 执行上下文】 发送 wxpy 获取源码,或者加微信 jiaopianbot 验证信息【 py】 拉你进群体验

或者直接扫描二维码

关注我的公众号 【 执行上下文】 发送 wxpy 获取源码

wxpy实现微信机器人相关推荐

  1. wxpy 实现微信机器人

      wxpy 号称可能是最优雅的微信个人号 API, 它 在 itchat 的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展,并且可轻松调用Tuling机器人,搭建属于自己的聊天机器 ...

  2. wxpy 0.1.2微信机器人 / 优雅的微信个人号API

    微信机器人 / 优雅的微信个人号API,基于 itchat,全面优化接口,更有 Python 范儿. 用来干啥 一些常见的场景 控制路由器.智能家居等具有开放接口的玩意儿 跑脚本时自动把日志发送到你的 ...

  3. 微信机器人wxpy简单实例Python

    #微信机器人Demo #导入相关模块 from wxpy import *bot = Bot() #初始化bot.file_helper.send('发送信息给文件传输助手') #发送信息给文件传输助 ...

  4. 从零开始微信机器人(一):wxpy简介(登录、消息发送、注册回复)

    本文最初发布于简书:从零开始微信机器人(一):wxpy简介(登录.消息发送.注册回复) 本文Github源代码地址:locoda/connector-wechat-bot (代码适用版本为python ...

  5. 原创|Python wxpy模块的有趣应用,微信机器人,微信好友分析搞定

    ↑↑↑关注后"星标"简说Python 人人都可以简单入门Python.爬虫.数据分析 简说Python推荐 来源:简说Python作者:老表 大家好,我是老表,今天这篇文章是两年半 ...

  6. [wxpy]用Python玩转微信之wxpy初探 ── 做属于自己的微信机器人

    用Python玩转微信之wxpy初探 wxpy介绍 安装wxpy 代码实现 1.登录微信 2.自动处理消息 3.实现程序运行 4.自动回复消息 完整代码 最近事情不多,有时间可以去研究点儿东西,之前看 ...

  7. python的wxpy库_Python库学习 wxpy - 微信机器人

    本周考虑到实现一个微信机器人的功能,研究了一下 wxpy 这个库 参考文档 简单的demo 例子1:获取聊天群里面所有@我的消息,并回复信息 #!/usr/bin/env python # -*- c ...

  8. 2019最新Python学习路线图:如何用Python创建微信机器人

    微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地.今天我们要讲的最新Python学习路线教程便是如何用Python来做一个微信聊天机器人,突然想起鲁迅先生曾经说过 ...

  9. 用python创建微信机器人_用Python创建微信机器人

    原标题:用Python创建微信机器人 文/裸睡的猪哥 图片来源于网络 微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地.今天我们要讲的便是如何用Python来做一 ...

最新文章

  1. CloudStack无法添加模板和iso
  2. Java ClassLoader findSystemClass()方法与示例
  3. a76比a73强多少_arm的a73和a72同上10nm,谁强?
  4. 3009基于二叉链表的二叉树结点个数的统计(附思路)
  5. pytorch torch.nn.Module
  6. glm编译错误问题解决 formal parameter with __declspec(align(#39;16#39;)) won#39;t be aligned...
  7. 重启服务器后网页显示nginx,解决重启服务器以后Nginx无法启动
  8. python是干什么的
  9. 火速拿来用!对比近 10,000 个 Python 开源项目发现最实用的 TOP34!
  10. 高斯积分(概率积分)以及它与伽马函数之间的关系
  11. jdk8下载及安装(Windows10)
  12. 计算机网络第三章:数据链路层
  13. Android外挂开发探索
  14. Kotlin Flow 背压和线程切换竟然如此相似
  15. MySQL锁 —— 记录锁、间隙锁、临键锁、自增锁
  16. TFTLCD屏幕实验
  17. DZ论坛+克米模板3.5版本全解密+教程
  18. 我的工训:加强沟通、加深理解、扩大分享!
  19. RISC-V MCU 电源系统概述
  20. 【美】兰萨姆·里格斯 - 怪屋女孩(2013年6月26日)

热门文章

  1. http 301、302、304、400、405、415状态码解释
  2. 【健身】程序员也应该知道的胸背体态矫正锻炼技巧(上)
  3. C++ 使用命令行编译程序
  4. 自适应控制---模型参考自适应控制(一)基于局部参数最优化的设计方法(MIT方案)
  5. Java Back Propagation Neural Network(JAVA反向传播神经网络)
  6. MySql计算两个日期的时间差函数
  7. 神经网络算法的关键参数,神经网络预测时间序列
  8. 【数据结构】B树和B+树的笔记详细诠释
  9. 【屌丝之作】3D遥控坦克大战
  10. linux安装mysql时使用临时密码登录不进去mysql: [Warning] Using a password on the command line interface can be insec