一、下載安裝itchat模塊
二、小實(shí)驗(yàn):獲取微信好友頭像信息
這需要用itchat模塊中的一個(gè)方法
itchat
.
get_friends
(
)
#獲取微信所有微信好友信息
現(xiàn)在我們導(dǎo)入itchat,打印一下,看看好友信息有哪些字段數(shù)據(jù)
import
itchat
#itchat.login()生成一個(gè)登陸二維碼,此方式每次程序運(yùn)行都需要掃碼
itchat
.
auto_login
(
hotReload
=
True
)
#持續(xù)登錄,只用掃一次二維碼即可
friends
=
itchat
.
get_friends
(
)
#獲取微信所有好友信息
for
i
in
friends:
print
(i)
這里只拿出幾個(gè)常用字段說(shuō)明:
UserName:微信號(hào)唯一標(biāo)識(shí)符
NickName:微信名
HeadImgUrl:頭像url
RemarkName:備注
Signature:簽名
Province:省份
City:城市
從好友信息對(duì)象中獲取頭像圖片并存儲(chǔ):
import
itchat
#itchat.login()生成一個(gè)登陸二維碼,此方式每次程序運(yùn)行都需要掃碼
itchat
.
auto_login
(
hotReload
=
True
)
#持續(xù)登錄,只用掃一次二維碼即可
friends
=
itchat
.
get_friends
(
)
#獲取微信所有好友信息
print
(
friends
)
for
i
in
friends
:
img
=
itchat
.
get_head_img
(
userName
=
i
[
'UserName'
]
)
#獲取好友頭像
path
=
r
'C:\Users\Administrator\PycharmProjects\untitled\Test\微信好友:'
+
i
[
'RemarkName'
]
+
'.jpg'
with
open
(
path
,
'wb'
)
as
f
:
f
.
write
(
img
)
三、使用圖靈機(jī)器人實(shí)現(xiàn)微信自動(dòng)回復(fù)
進(jìn)入圖靈機(jī)器人官方網(wǎng)站創(chuàng)建機(jī)器人
記錄機(jī)器人的apikey
進(jìn)入幫助中心,找到apiv2.0接入教程,里面會(huì)有詳細(xì)的對(duì)接教程及一些參數(shù)的說(shuō)明
然后就可以開(kāi)始通過(guò)python itchat和圖靈機(jī)器人進(jìn)行對(duì)接,實(shí)現(xiàn)自動(dòng)回復(fù)消息
import
itchat
import
requests
import
json
def
get_response
(
msg
)
:
url
=
'http://openapi.tuling123.com/openapi/api/v2'
data
=
{
"reqType"
:
0
,
"perception"
:
{
"inputText"
:
{
"text"
:
msg
}
,
"inputImage"
:
{
"url"
:
"imageUrl"
}
,
"selfInfo"
:
{
"location"
:
{
"city"
:
"北京"
,
"province"
:
"北京"
,
"street"
:
"信息路"
}
}
}
,
"userInfo"
:
{
"apiKey"
:
"圖靈機(jī)器人apikey號(hào)"
,
"userId"
:
"what"
#userID隨便填一個(gè)字符
}
}
data
=
json
.
dumps
(
data
)
#把data變成json格式
response
=
requests
.
post
(
url
,
data
=
data
)
.
json
(
)
#打印出來(lái)是個(gè)字典
#print(response['results'][0]['values']['text'])#從數(shù)據(jù)中取出機(jī)器人回復(fù)的消息文字
return
(
response
[
'results'
]
[
0
]
[
'values'
]
[
'text'
]
)
#get_response('你有什么事嗎')#模擬好友發(fā)送信息
#python3中可以使用json模塊來(lái)對(duì)json數(shù)據(jù)進(jìn)行編解碼
#它包含了兩個(gè)函數(shù):
#json.dumps()對(duì)數(shù)據(jù)進(jìn)行編碼
#json.loads()對(duì)數(shù)據(jù)進(jìn)行解碼
itchat
.
auto_login
(
hotReload
=
True
)
#保持登錄
@itchat
.
msg_register
(
itchat
.
content
.
TEXT
)
#裝飾器,對(duì)下面的函數(shù)添加新功能
def
auto_reply
(
message
)
:
#print(message)
only_reply_info
=
'哈哈哈,你又上當(dāng)了!'
#設(shè)置指定回復(fù)消息
friend_info
=
message
[
'Text'
]
#獲取好友發(fā)送的文本信息
friend_id
=
message
[
'FromUserName'
]
#獲取好友id
reply_info
=
get_response
(
friend_info
)
#將好友信息發(fā)送給圖靈機(jī)器人
only_friend_info
=
itchat
.
search_friends
(
name
=
'微信備注名'
)
#獲取指定好友發(fā)送的消息
if
friend_id
==
only_friend_info
[
0
]
[
'UserName'
]
:
itchat
.
send
(
msg
=
only_reply_info
,
toUserName
=
friend_id
)
#規(guī)定指定聯(lián)系人回復(fù)消息
else
:
itchat
.
send
(
msg
=
reply_info
,
toUserName
=
friend_id
)
#正常機(jī)器人智能回復(fù)
if
__name__
==
"__main__"
:
itchat
.
run
(
)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
