python 위 챗 자동 복구 로봇 기능 실현

간단 한 소개
wxpy 는 itchat 를 바탕 으로 웹 위 챗 의 통신 프로 토 콜 을 사 용 했 고 대량의 인 터 페 이 스 를 통 해 모듈 의 용이 성 을 최적화 시 켰 으 며 풍부 한 기능 확장 을 진행 했다.위 챗 로그 인,메시지 수신,친구 검색,데이터 통계 등 기능 을 실현 했다.
한 마디 로 하면 각종 위 챗 개인 번호 의 자동화 작업 을 실현 할 수 있다http://wxpy.readthedocs.io/zh/latest/bot.html
설치:wxpy 는 Python 3.4-3.6 및 2.7 버 전 을 지원 합 니 다.
pip3 install -U wxpy
설치 pillow 모듈
pip3 install pillow
pyecharts 모듈 설치
pip3 install pyecharts
로그 인
1.스 캔 로그 인 위 챗

from wxpy import *
bot = Bot()
2、cache_path=True
위의 프로그램 을 실행 하면 QR 코드 가 튀 어 나 와 휴대 전화 위 챗 으로 스 캔 하면 로그 인 이 가능 하 다.
그러나 위의 프로그램 은 실행 할 때마다 QR 코드 를 스 캔 하 는 단점 이 있다.그러나 wxpy 는 로그 인 정 보 를 저장 할 때 매번 QR 코드 를 스 캔 하지 않 아 도 되 는 캐 시 옵션 을 제공 합 니 다.다음 과 같 습 니 다.
bot = Bot(cache_path=True)\#한 번 로그 인 한 후에 야 캐 시 를 사용 할 수 있 습 니 다.
삼 위 챗 친구 남녀 비율 비교 전시

from wxpy import *
from pyecharts import Pie
import webbrowser
bot=Bot(cache_path=True) #        
friends=bot.friends()
#        ,     
attr=['   ','   ','    ']
value=[0,0,0]
for friend in friends:
 if friend.sex == 1: #   1    
  value[0]+=1
 elif friend.sex == 2: #  2    
  value[1]+=1
 else:
  value[2]+=1
pie = Pie("      ")
pie.add("", attr, value, is_label_show=True)
#    str,    list,       list,is_label_show      
pie.render('sex.html')#  html  
#      
webbrowser.open("sex.html")

4.위 챗 친구 지역 분포
중국 지 도 를 표시 하려 면 중국 지도 모듈 을 설치 해 야 합 니 다.
세계 국가 지도:echarts-countries-pypkg(1.9MB):세계 지도 와 213 개국,중국 지도 포함
중국 성급 지도:echarts-china-provinces-pypkg(730 KB):23 개 성,5 개 자치구
중국 시 급 지도:echarts-china-cities-pypkg(3.8MB):370 개 중국 도시
중국 현급 지도:echarts-china-countes-pypkg(4.1MB):2882 개 중국 현·구
중국 지역 지도:echarts-china-misc-pypkg(148 KB):11 개의 중국 지역 지도,예 를 들 어 화남,화북.
특히 중국 지 도 는 echarts-countries-pypkg 에 있다 고 밝 혔 다.이 지도 가 필요 한 친구 들 은 pip 명령 행 을 설치 할 수 있 습 니 다:
pip3installecharts−countries−pypkg pip3installecharts−countries−pypkg pip3 install echarts-china-provinces-pypkg
pip3installecharts−china−cities−pypkg pip3installecharts−china−cities−pypkg pip3 install echarts-china-counties-pypkg
$ pip3 install echarts-china-misc-pypkg

from wxpy import *
from pyecharts import Map
import webbrowser
bot=Bot(cache_path=True)
friends=bot.friends()
area_dic={}#      ,            
for friend in friends:
 if friend.province not in area_dic:
  area_dic[friend.province]=1
 else:
  area_dic[friend.province]+=1
attr = area_dic.keys()
value = area_dic.values()
map = Map("         ", width=1200, height=600)
map.add(
 "      ",
 attr,
 value,
 maptype='china',
 is_visualmap=True, #   VisualMap
)
#is_visualmap -> bool           
#
map.render('area.html')
webbrowser.open("area.html")

메 신 저 로봇
1.위 챗 전송 조수 에 게 메시지 전송
여기 filehelper 는 위 챗 의 파일 전송 조수 입 니 다.우 리 는 파일 전송 조수 에 게 메 시 지 를 보 냅 니 다.핸드폰 엔 드 의 파일 전송 조수 에서 괄호 안의 메 시 지 를 받 을 수 있 습 니 다.bot.file_helper.send('lqz say hello')2.메시지 받 기@bot.register()

from wxpy import *
bot=Bot(cache_path=True)
@bot.register()
def recv_send_msg(recv_msg):
 print('     :',recv_msg.text) # recv_msg.text    
 return '    :%s' %recv_msg.text
#   Python   ,       
embed()
3.아내 에 게 자동 으로 답장
당신 이 PC 방 에서 닭 을 먹고 소란 을 피 울 때,당신 아내 가 당신 에 게 집에 가서 밥 을 먹 으 라 고 전 화 를 했 는데,이때 당신 은 어떻게 합 니까?

from wxpy import *
bot=Bot(cache_path=True)
girl_friend=bot.search('   ')[0]
print(girl_friend)
@bot.register() #             ,    recv_msg.sender     girl_friend
def recv_send_msg(recv_msg):
 print('     :',recv_msg.text) # recv_msg.text    
 if recv_msg.sender == girl_friend:
  recv_msg.forward(bot.file_helper,prefix='    : ') #           ,           
  ms='     ,           ,    '
  print('>>>      :', ms)
  return ms#      
embed()
4.위 챗 에서 친 구 를 찾 아 사장 에 게 아부

from wxpy import *
bot=Bot(cache_path=True)
company_group=bot.groups().search('   ')[0]
boss=company_group.search('    ')[0]
@bot.register(chats=company_group) #           ,    recv_msg.sender  
def recv_send_msg(recv_msg):
 print('     :',recv_msg.text)
 if recv_msg.member == boss:
  #    recv_msg.render   render     
  recv_msg.forward(bot.file_helper,prefix='    : ')
  return '        ,    '
embed()
5.채 팅 로봇
모두 에 게 자동 응답

import json
import requests
from wxpy import *
bot = Bot(cache_path=True)
#        API,             
def auto_reply(text):
 url = "http://www.tuling123.com/openapi/api"
 api_key = "9df516a74fc443769b233b01e8536a42"
 payload = {
  "key": api_key,
  "info": text,
 }
 r = requests.post(url, data=json.dumps(payload))
 result = json.loads(r.content)
 return "[       ] " + result["text"]
@bot.register()
def forward_message(msg):
 return auto_reply(msg.text)
embed()
지정 한 그룹 에 게 답장 하기

import json
import requests
from wxpy import *
bot = Bot(cache_path=False)
group=bot.groups().search('   ')[0]
print(group)
#        API,             
def auto_reply(text):
 url = "http://www.tuling123.com/openapi/api"
 api_key = "9d602fe417464cd18beb2083d064bee6"
 payload = {
  "key": api_key,
  "info": text,
 }
 r = requests.post(url, data=json.dumps(payload))
 result = json.loads(r.content)
 return "[       ] " + result["text"]
@bot.register(chats=group)
def forward_message(msg):
 return auto_reply(msg.text)
embed()
지 정 된 사람 에 게 답장 하기

import requests
from wxpy import *
bot = Bot( cache_path=True)
girl_friend=bot.search('  r')[0]
#        API,             
def auto_reply(text):
 url = "http://www.tuling123.com/openapi/api"
 api_key = "         key     "
 payload = {
  "key": api_key,
  "info": text,
 }
 r = requests.post(url, data=json.dumps(payload))
 result = json.loads(r.content)
 return "[    ,   ] " + result["text"]
@bot.register()
def forward_message(msg):
 if msg.sender == girl_friend:
  return auto_reply(msg.text)
embed()
총결산
위 에서 말 한 것 은 소 편 이 소개 한 python 이 위 챗 자동 답장 로봇 기능 을 실현 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 저 에 게 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!

좋은 웹페이지 즐겨찾기