文章目录
功能实现
功能实现
好友性别分析微信消息自动回复好友头像自动下载
import itchat
import requests
import json
import os
import matplotlib
.pyplot
as plt
import random
def analysisFriends():
friends
= itchat
.get_friends
()
male
= 0
female
= 0
others
= 0
for i
in friends
:
sex
= i
['Sex']
if sex
== 1:
male
+= 1
elif sex
== 2:
female
+= 1
else:
others
+= 1
total
= len(friends
[1:])
print('男性好友:%.2f%%' % (float(male
) / total
* 100))
print('女性好友:%.2f%%' % (float(female
) / total
* 100))
print('其他:%.2f%%' % (float(others
) / total
* 100))
man_rate
= float(male
) / total
* 100
woman_rate
= float(female
) / total
* 100
others_rate
= float(others
) / total
* 100
rate
= [man_rate
, woman_rate
, others_rate
]
labels
= ['男', '女', '其他']
plt
.rcParams
['font.sans-serif'] = ['SimHei']
plt
.rcParams
['axes.unicode_minus'] = False
plt
.axes
(aspect
='equal')
plt
.pie
(
x
=rate
,
labels
=labels
,
autopct
='%.1f%%',
pctdistance
=0.8,
labeldistance
=1.2,
startangle
=180,
radius
=1.2,
wedgeprops
={'linewidth': 1.5, 'edgecolor': 'pink'},
textprops
={'fontsize': 15, 'color': 'black'},
)
plt
.show
()
def getHeadImg():
friends
= itchat
.get_friends
()[0:]
for j
in friends
:
img
= itchat
.get_head_img
(userName
=j
['UserName'])
dirname
= '好友头像'
if not os
.path
.exists
(dirname
):
os
.mkdir
(dirname
)
path
= dirname
+ '/' + j
['RemarkName'] + '.jpg'
try:
with open(path
, 'wb') as f
:
f
.write
(img
)
except Exception
as e
:
print(repr(e
))
print(j
['RemarkName'] + '的头像已下载完成。')
def get_response(message
):
apiUil
= 'http://openapi.tuling123.com/openapi/api/v2'
keys
= ['key1',
'key2',
'key3',
'key4',
'key5',
]
key
= random
.choice
(keys
)
data
= {
"reqType": '',
"perception": {
"inputText": {
"text": message
},
"inputImage": {
"url": "imageUrl"
},
"selfInfo": {
"location": {
"city": "哈尔滨",
"province": "黑龙江省",
"street": "电碳路"
}
}
},
"userInfo": {
"apiKey": 'key',
"userId": "robot"
}
}
data
= json
.dumps
(data
)
re
= requests
.post
(url
=apiUil
, data
=data
, ).text
re_dic
= json
.loads
(re
)
robotResponse
= re_dic
['results'][0]['values']['text']
return robotResponse
@itchat
.msg_register
(itchat
.content
.TEXT
, isFriendChat
=True)
def robot_reply(message
):
defaultReply
= '收到'
reply
= get_response
(message
['Text'])
return reply
or defaultReply
if __name__
== '__main__':
itchat
.login
()
print('########## 微信助手V1.0-仁义 ##########')
a
= input('是否分析好友性别比例(y/n):')
if a
== 'y':
analysisFriends
()
b
= input('是否开始机器人自动回复(y/n):')
if b
== 'y':
print('开启机器人自动回复......')
itchat
.run
()
c
= input('是否下载好友头像(y/n):')
if c
== 'y':
getHeadImg
()
转载请注明原文地址: https://yun.8miu.com/read-135829.html