持续更新中,文中有代码、有效果图

写了四个脚本,其中第一个是全网独一份的,能借用微软AI测颜值api的聊天机器人(最新动态,现在已经可以用本地机器学习的模型来测试颜值了,利用华南理工开放的五百张中国人脸来学习,原理是tensorflow做的cnn分类,没有做回归,只能整数打分,我看看啥时候能放出来),第二个是统计微信好友信息并生成xls文件发给自己的工具,第三个是用微信好友签名信息生成词云的工具(可以设置词云形成的图案),第四个是生成全国微信好友分布地图

项目代码部分已经放上,欢迎知友copy下载检验,除了都用到itchat库外,还要根据新功能另行pip install。

0、聊天机器人

可以根据信息,自动回复、发送种子文件、自动报时,另外还接入微软小冰的图片颜值检测接口,可以根据对方发来图片来回复评分消息,后台也能给文件助手发特定消息来引导逻辑,控制开关机器人。反正Python能干的都能接上。

最有趣也是最私人化的就是自动回复功能,曾经也尝试过拿图灵api来玩,最后发现这样的可玩性并不高,一是从此图灵服务器到我服务器肯定有延迟,二是图灵功能强大后需要充值,三是自己写逻辑也很好玩。

写自动回复,发现互动效果最好的不是关键词回复,而是表情包、某些无意义语气词等。这说明,评判机器和人互动的优良与否,取决于你能和他聊多久,而不是准确性,假如你能和一个妹子一直互动一辈子,那你们之间一定有特别的缘分。

效果图如下,这张显示了和妹子互动骗图的一部分。 />

其实我觉得她的颜值在7.5到8分左右。微软小冰接口代码后面会发,代码是全网独一份的。抓包解码是关键。

下面这两张是文字聊天的,效果显著,显然在此时此刻,他不知道屏幕后的我是个机器人 />

/>

将写好的脚本挂在阿里云一块钱一个月学生主机上,相比于挂在自己的主机上,稳定性更好,不容易掉线。

1、统计好友信息的工具。

扫码登录几秒内立即完成统计好友信息,包括昵称、性别、男女总数、签名然后做成xls发送到文件传输助手。拿了号来测试。 />

(6月1号第一次修改,加了上面的三张效果图,加了第一个项目的代码)

还真有人看代码,那我先放第二个代码,python2.7的,python3也能跑,统计微信好友信息生成excel,挺简单的。需要先pip下itchat和xlwt库。

# coding:utf-8

import itchat,time,sys,xlwt

file = xlwt.Workbook()

table = file.add_sheet('info',cell_overwrite_ok=True)

# 登录-持续

itchat.auto_login()

print(u"logged")# 获取好友列表

friends = itchat.get_friends(update=True)[0:]

male = female = other = 0

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:])

table.write(0,5,u'【made by junzi】')

table.write(0,7,u'【共'+str(len(friends)-1)+u'位朋友,'+str(male)+u'位男性朋友,'+str(female)+u'位女性朋友,另外'+str(other)+u'位不明性别】')

table.write(0,0,u' 【昵称】')

table.write(0,1,u' 【备注名】')

table.write(0,2,u' 【省份】')

table.write(0,3,u' 【城市】')

table.write(0,4,u' 【签名】')

a=0

for i in friends:

table.write(a+1,0,i['NickName'])

table.write(a+1,1,i['RemarkName'])

table.write(a+1,2,i['Province'])

table.write(a+1,3,i['City'])

table.write(a+1,4,i['Signature'])

if i['RemarkName'] == u'':

table.write(a+1,1,u'[ ]')

if i['Province'] == u'':

table.write(a+1,2,u'[ ]')

if i['City'] == u'':

table.write(a+1,3,u'[ ]')

if i['Signature'] == u'':

table.write(a+1,4,u'[ ]')

a=a+1

print(a)

# qm=raw_input("file name >>>:")aaa='weixin_'+time.strftime("%Y%m%d", time.localtime())+'.xls'file.save(aaa)

itchat.send('made by junzi','filehelper')

itchat.send('@%s@%s' % ('fil',aaa), 'filehelper')

print ("over")

代码很简单,扫码之后几秒内完成然后发送一个xls文档到文件传输助手。测了一下python3的处理速度比python2速度快好几倍。使用完就可以退出网页版登录啦~

百度开源的echart,可以把微信好友分布地区在地图上可视化,最后导出的是html文件,html也可以保存png图片文件 />

(9月25日第二次修改,好久没上知乎了,把两个项目的顺序改了,也应众位网友要求把小冰代码放上来了。另外提个建议,检测关键字自动回复最好弄个字典啥的,数据放在excel里读取别放在py文件里,这样后期维护很方便)

import itchat,random,codecs,requests

import json

from itchat.content import *

from json import JSONDecoder

#微软小冰

xiaobing_url="http://kan.msxiaobing.com/Api/ImageAnalyze/Process?service=yanzhi"

@itchat.msg_register(PICTURE)

def picture_reply(msg):

msg['Text'](msg['FileName'])

print msg['FileName']

header = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36',

'Referer': 'http://kan.msxiaobing.com/V3/Portal',

}

url1 = 'http://kan.msxiaobing.com/Api/Image/UploadBase64'

url2 = 'https://kan.msxiaobing.com/Api/ImageAnalyze/Process'

s = requests.Session()

with open(msg['FileName'], 'rb') as f:

image_data = f.read().encode('base64')

r = s.post(url1, data=image_data, headers=header)

imgurl='https://mediaplatform.msxiaobing.com' + r.json()['Url']

#print imgurl,"0"

#print r.text,"1"

sys_time = int(time.time())

payload = {'service': 'yanzhi',

'tid': '7531216b61b14d208496ee52bca9a9a8'}

headerss={

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',

'Cookie':'_ga=GA1.2.1597838376.1504599720; _gid=GA1.2.1466467655.1504599720; ai_user=sp1jt|2017-09-05T10:53:04.090Z; cpid=YDLcMF5LPDFfSlQyfUkvMs9IbjQZMiQ2XTJHMVswUTFPAA; salt=EAA803807C2E9ECD7D786D3FA9516786; ARRAffinity=3dc0ec2b3434a920266e7d4652ca9f67c3f662b5a675f83cf7467278ef043663; ai_session=sQna0|1504664570638.64|1504664570638'+str(random.randint(11, 999)),

'Referer': 'https://kan.msxiaobing.com/ImageGame/Portal?task=yanzhi&feid=d89e6ce730dab7a2410c6dad803b5986'

}

form = {

'MsgId': str(sys_time) + '733',

'CreateTime': sys_time,

'content[imageUrl]':imgurl

}

r = requests.post(url2,params=payload, data=form,headers=headerss)

print(r.json())

text1=r.json()['content']['text']

print(text1)

return text1

itchat.run()

代码中我删了私人的聊天回复部分等等,见谅。

关注@上官带瓜 ,不错过我的每一个答案

点个赞让我在知道你看到了最后

诸君有新情况随时评论或私信我

python可以做什么有趣的东西-Python 里itchat 模块能实现什么有趣的东西?相关推荐

  1. python可以干什么-Python可以用来做什么 为你揭开python神秘面纱

    Python可以用来做什么 为你揭开python神秘面纱 时间:2018-01-24     来源:解读Python 最近,编程界又一语言可谓是着实又火了一把,什么语言呢?python,python为 ...

  2. python可以给你干什么-Python可以用来做什么 为你揭开python神秘面纱

    Python可以用来做什么 为你揭开python神秘面纱 时间:2018-01-24     来源:解读Python 最近,编程界又一语言可谓是着实又火了一把,什么语言呢?python,python为 ...

  3. (地理国情监测)arcgis使用python,做arctoolbox,渔网裁剪gdb里的要素,四等分

    (地理国情监测)arcgis使用python,做arctoolbox,渔网裁剪gdb里的要素,四等分: # ecoding=gbk coding = 'utf-8' import os import ...

  4. python能做什么项目-这十个Python实战项目,让你瞬间读懂Python!

    前言 Python 是一种极具可读性和通用性的编程语言.Python 这个名字的灵感来自于英国喜剧团体 Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Pytho ...

  5. 学python可以做什么产品-学了 Python,能用来做什么?实际应用场景有哪些??...

    无论是工作还是生活,Python都是一项实用而有趣的技能. Python具有广泛的应用程序,可以总结下图. 适用于工作:Python开发,Python搜寻器,大数据: 在生活中,爬行动物为生活增添了很 ...

  6. python能做什么程序-学了 Python,能用来做什么?实际应用场景有哪些??

    无论是工作还是生活,Python都是一项实用而有趣的技能. Python具有广泛的应用程序,可以总结下图. 适用于工作:Python开发,Python搜寻器,大数据: 在生活中,爬行动物为生活增添了很 ...

  7. 学python能做什么类型的工作-python是什么?python可以用来干什么?

    Python最近几年发展的非常迅速,尤其是2017年,随着人工智能概念的兴起,python的关注度也是越来越高,python相继纳入浙江省高考和山东省的小学教材.对于从事IT行业的人来说,对pytho ...

  8. python能做什么-普通小白学会Python到底具体能做什么呢?

    Python的应用非常广泛,无论是工作还是生活,Python都是一个既实用又有趣的技能. 刨掉我们常说的Python主要应用领域:Web前端开发,云计算,人工智能,系统运维等等,这些是需要深度学习的. ...

  9. python能做什么工作-学了Python可以做什么工作

    学了Python可以做什么工作 用 Python 写爬虫 据我所知很多初学 Python 的人都是使用它编写爬虫程序.小到抓取一个小黄图网站,大到一个互联网公司的商业应用.通过 Python 入门爬虫 ...

最新文章

  1. Nginx + CGI/FastCGI + C/Cpp
  2. 机房工程施工细节标准做法,每张图都有说明
  3. 火爆 GitHub 的 16 张机器学习速查表,值得收藏!
  4. Win docker 桌面版报错error during connect: This error may indicate that the docker daemon is not running
  5. 信用卡的3种分期模式全面比较
  6. Strange Partition CodeForces - 1471A
  7. 动态规划(四)--最长公共子序列
  8. 洛谷 P2010 回文日期
  9. HTML 表格表单代码实例(个人简介表)
  10. 最长公共子串计算C++
  11. DevOps ACA 软件代码与质量管理(六)
  12. 阿里腾讯裁员、最高30%?计算机行业前景到底如何...
  13. windows7 32位系统下好用的一款视频制作工具--Windows live影音制作
  14. MongoDB的安装与可视化工具Studio 3T的安装
  15. 在linux后台运行脚本的方法和命令
  16. python bokeh教程_交互式数据可视化在Python中用Bokeh实现
  17. impala查询报错问题 EOFException: Cannot seek after EOF 求解
  18. 1月10日前未完成《创业创新执行力》考试的补救措施
  19. WebGIS教学——瓦片行列号换算
  20. php实现微信登录功能

热门文章

  1. python随机抽号_随手小代码——Python 从集合中随机抽取元素
  2. 开发日记-20190824 关键词 读书笔记《掌控习惯》DAY 3
  3. sklearn的train_test_split,果然很好用啊!
  4. syslog介绍-CS架构来采集系统日志
  5. Scala学习 -- 基础语法
  6. linux系统格式化磁盘
  7. Codeforces #528 Div2 F (1087F) Rock-Paper-Scissors Champion 树状数组+set
  8. 关于BitmapImage EndInit()时报值不在范围内的异常
  9. Linux Shell编程入门(zz)
  10. ASP:当 request.cookies 发生 Microsoft VBScript 运行时错误 (0x800A000D) 类型不匹配: '[string:...