如要转载 麻烦备注好原文出处!!!

最近实现了一些微信的简单玩法 我们可以通过网页版的微信微信网页版,扫码登录后去抓包爬取信息,还可以post去发送信息。

》》安装itchat这个库     pip install itchat

先来段简单的试用,实现微信的登录,运行下面代码会生成一个二维码,扫码之后手机端确认登录,就会发送一条信息给‘filehelper’,这个filehelper就是微信上的文件传输助手。

import itchat

# 登录
itchat.login()
# 发送消息
itchat.send(u'你好鸭!', 'filehelper')

它会给这个文件传输助手自动发送你好鸭!

除了登录和发送消息我们还可以这么来玩,往下走~

》》实现微信好友男女比例

想统计下自己微信里好友的性别比例,当然也是很简单,先获取好友列表,统计列表里性别计数

import itchat

# 先登录
itchat.login() # 获取好友列表
friends = itchat.get_friends(update=True)[0:] # 初始化计数器,有男有女,当然,有些人是不填的
male = female = other = 0 # 遍历这个列表,列表里第一位是自己,所以从"自己"之后开始计算
# 1表示男性,2女性
for i in friends[1:]:
sex = i["Sex"]
if sex == 1:
male += 1
elif sex == 2:
female += 1
else:
other += 1 # 总数算上,好计算比例啊~
total = len(friends[1:]) # 好了,打印结果
print (u"男性好友:%.2f%%" % (float(male) / total * 100))
print (u"女性好友:%.2f%%" % (float(female) / total * 100))
print (u"其他:%.2f%%" % (float(other) / total * 100))

运行结果:

》》实现微信自动回复

接着来实现一个类似qq上的自动回复,原理就是接收到消息,就发消息回去,同时发一条给文件助手,就可以在文件助手中统一查看消息。

代码很简单,来看看

#coding=utf8
import itchat # 自动回复
# 封装好的装饰器,当接收到的消息是Text,即文字消息
@itchat.msg_register('Text')
def text_reply(msg):
# 当消息不是由自己发出的时候
if not msg['FromUserName'] == myUserName:
# 发送一条提示给文件助手
itchat.send_msg(u"[%s]收到好友@%s 的信息:%s\n" %
(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg['CreateTime'])),
msg['User']['NickName'],
msg['Text']), 'filehelper')
# 回复给好友
return u'[自动回复]您好,我现在有事不在,一会再和您联系。\n已经收到您的的信息:%s\n' % (msg['Text']) if __name__ == '__main__':
itchat.auto_login() # 获取自己的UserName
myUserName = itchat.get_friends(update=True)[0]["UserName"]
itchat.run()

运行后会保持登录状态,开启自动回复模式,手机上查看:

当然,除了文字Text信息,还可以接收图片(表情包算图片),语音,名片,地理位置,分享和类型为Note的信息(就是有人提示类的消息,例如撤回消息),把装饰器写成下面形式即可实现

@itchat.msg_register(['Map', 'Card', 'Note', 'Sharing', 'Picture','Text'])

如要转载 麻烦备注好原文出处!!!

完成!

最新文章

  1. requerjs 合并 优化配置
  2. Furatto – 轻量,友好的响应式前端开发框架
  3. 【Remoting】.Net remoting方法实现简单的在线升级(下篇:重启exe)
  4. [Java拾遗四]JavaWeb基础之Servlet_Request&&Response
  5. iOS开发——高级技术&地图功能的实现
  6. thinking in java之Collections工具类的使用
  7. apache配置weblogic部署集群,多节点的项目和单节点项目并存 负载均衡
  8. Data Flow ->> Merge
  9. ACdream 1726 A Math game (dfs+二分)
  10. 恢复root用户目录,及~目录
  11. 从Rational Rose 到IBM Rational Software Architect和IBM Rational Rhapsody
  12. Excel vba中访问ASP.NET MVC项目,记录访问时间,文件名称
  13. Web前端-关于jQuerry
  14. Jenkins插件安装
  15. HibernateValidators
  16. dubbo源码分析6——SPI机制中的AOP
  17. hping网络安全工具的安装及使用
  18. 结合JSFL/actionscript 实现轮廓动画
  19. C#程序实现窗体的最大化/最小化
  20. new Runnable中的 this

热门文章

  1. 怎么把myeclipse项目导入IDEA中
  2. 使用chrome开发程序,自动刷新开发目录
  3. IOS开发---菜鸟学习之路--(七)-自定义UITableViewCell
  4. Python-S9-Day124-爬虫&微信
  5. Python数据分析基础——读写CSV文件
  6. LeetCode with Python -> String
  7. 爬虫:Scrapy4 - Spiders
  8. valuestack 根对象CompoundRoot 源码
  9. Linux抓包工具tcpdump命令详解
  10. 个人环境搭建——版本控制SVN