技术标签: python微信自动回复代码
【实例简介】利用python语言编写微信自动回复功能
【实例截图】
【核心代码】
import itchat
import requests
import re
# 抓取网页
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["Mai"]:
# 回复给好友
url = "http://www.tuling123.com/openapi/api?key=09b2c32561ff493087600292f81fe2dd&info="
url = url msg['Text']
html = getHtmlText(url)
message = re.findall(r'\"text\"\:\".*?\"',html)
reply = eval(message[0].split(':')[1])
return reply
if __name__ == '__main__':
itchat.auto_login()
# 获取自己的UserName
friends = itchat.get_friends(update=True)[0:]
Name = {}
Nic = []
User = []
for i in range(len(friends)):
Nic.append(friends[i]["NickName"])
User.append(friends[i]["UserName"])
for i in range(len(friends)):
Name[Nic[i]] = User[i]
itchat.run()
创建数组在使用Numpy的数组前,我们必须对Numpy库进行引入。 import numpy as np我们可以通过将Python列表传递给它并使用 np.array() 来创建一个NumPy数组(也就是强大的ndarray)。在这种情况下,Python创建了下面的数组:一个常见的错误在于使用多个数值参数调用 array 函数,而不是提供一个数字列表(List)作为参数。 a = n...
11、HKEY_USER 根键AppEvents子键 HKEY_USERS根键中保存的是默认用户(.DEFAULT)、当前登录用户(如ws)与软件(Software)的信息。注意:HKEY_USERS/Software中保存的软件信息与HKEY_LOCAL_MACHINE/Software相同。 HKEY_CURRENT_USER/.DEFAULT下面有八个子键。其中除RemoteAcces
简易的相似图像搜索算法图片数据库查询结果本文主要方法流程预训练模型 + 单张图像的特征 ( 逐个保存,形成数据库)+ 特征压缩(选做)获取查询图像的特征向量将查询的特征向量与数据库保存的所有特征进行余弦距离计算返回结果实际编写自定义图片数据集读取代码pytorch SWAV预训练模型 (paper Unsupervised Learning of Visual Features by Contrasting Cluster Assignments.)抽
链表倒序,难点在于如何一个个地修改。虽然不是数组,但是大概思想是一样的,所以可以用一个for循序,一个游标对应for循环里面的 i,只不过要记得前一个节点和后一个节点,尤其是后一个,因为修改之后就访问不到后面的,所以要记录。for每一个循环只改变所指向的那个节点的指针,这样既不会乱套了。 用一个for循环就非常好理解了,之前用while把我自己都搞晕电脑了。。。#incl...
向上销售与交叉销售 向上销售(Up-selling):相信大多数光顾过麦当劳或是肯德基人都有这样的经历:在你点完你想要的鸡腿汉堡和饮料之后,餐厅的服务员一般都会问您:“需要加一份新炸的薯条吗?”其实这就是的一种典型的向上销售方式。这里的“薯条”作为向上销售的诱饵,诱使消费者增加购买,从而实现扩大销售的目的。实事上,向上销售的方式不仅仅存在于快餐厅里,在其他的商品市场上,也很常见。比如,
---恢复内容开始---最近尝试了下EF Extended,但是居然需要EF6.0以上,没办法,只能安装了,打开解决方案,选择库程序包管理下的程序包管理控制台(或者直接右击你需要使用扩展的解决方案选管理NuGet程序包),也不废话了,直接装上。使用简单的三层结果,在DAL层装上了extended扩展,点开引用一看,好家伙,引入了三个dll,一个是EntityFramework,一个E...
最近在做DevOps方向的产品,已经完成了SVN和GitLab的相关功能研发。关于版本管理研发过程中使用到的技术,将会陆续更新。本篇文章主要介绍svn的代码合并功能。 先扫盲一下,代码合并,是把一条分支上的改动(源分支),应用到另一条分支上(目标分支)。可以只合并一部分,也可以全部合并。但前提是这两条分支是有关系的分支,父子、爷孙啥的都行。那分支之间的关系是咋产生...
#include <stdio.h>#include <WinSock2.h>#include #pragma comment(lib, “WS2_32”)enum emTLVNodeType{emTlvNNone = 0,emTlvNRoot,emTlvName,emTlvAge,emTlvColor};typedef struct _CAT_IN...
3040: 最短路(road)>原题链接<DescriptionN个点,M条边的有向图,求点1到点N的最短路(保证存在)。1<=N<=1000000,1<=M<=10000000Input第一行两个整数N、M,表示点数和边数。第二行六个整数T、rxa、rxc、rya、ryc、rp。...
ROS2中最为重大的变化——DDS,我们在前边课程中学习的话题、服务、动作,他们底层通信的具体实现过程,都是靠DDS来完成的,它相当于是ROS机器人系统中的神经网络。DDS的核心是通信,能够实现通信的模型和软件框架非常多,这里我们列出常用的四种模型。第一种,点对点模型,许多客户端连接到一个服务端,每次通信时,通信双方必须建立一条连接。当通信节点增多时,连接数也会增多。而且每个客户端都需要知道服务器的具体地址和所提供的服务,一旦服务器地址发生变化,所有客户端都会受到影响。第二种,Broker模型,针对点对
Python学习计划(九)面对对象(一)一、面向对象思想张老师吃饭,饭从哪里来?(1)自己做买菜洗菜切菜做饭(2)女朋友做女朋友.买菜女朋友.洗菜女朋友.切菜女朋友.做饭面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程的思路是将数据与函数按照指向的逻辑顺序组织在一起,数据与函数分开考虑。面向过程:根据业务逻辑从上到下写代码。查询是执行者面...
背景:从DICOM网络传输一文开始,相继介绍了C-ECHO、C-FIND、C-STORE、C-MOVE等DIMSE-C服务的简单实现,博文中的代码给出的实例都是基于fo-dicom库来实现的,原因只有一个:基于C#的fo-dicom库具有高封装性。对于初学者来说实现大多数的DIMSE-C、DIMSE-N服务几乎都是“傻瓜式”操作——构造C-XXX-RQ、N-XXX-RQ然后绑定相应的OnRespo...