python实现半自动化发送微信信息

本文实例为大家分享了python半自动化发送微信信息的具体代码,供大家参考,具体内容如下
相关第三方库
1.pyautogui
自动操作鼠标、键盘的第三方库

2.pyperclip
用于将文本复制和粘贴到剪贴板

3.requests
HTTP第三方库

4.psutil
可以查看系统信息,进程、CPU等

5.腾讯地图API
因为我想实现发送定位,所以需要用

总体思路
1.先手动登录微信
2.使用os模块调用微信进程
3.使用pyautogui模块来自动操作微信的快捷键,实现搜索好友、发送信息,pyperclip模块用来复制需要发送的中文

4.使用requests模块来调用腾讯地图的API
具体代码

# -*- coding: utf-8 -*import sysimport psutilimport pyautoguiimport timeimport osimport pyperclipimport jsonimport requestsdef main():# 先确认是否登录微信confirms = pyautogui.confirm("微信已登录?", "请先登录微信!")if confirms == "Cancel":sys.exit()get_wechat()find_friend()msg = locate()# 发送内容send(msg)# 定位def locate():url = "https://apis.map.qq.com/ws/location/v1/ip?key=自己申请的key"session = requests.Session()# 取消代理session.trust_env = Falseresp = session.get(url)print(resp.json())adress = resp.json()print(adress["result"]["location"])# 获取到经纬度point = adress["result"]["location"]# 由经纬度获取定位pointUrl = "https://apis.map.qq.com/uri/v1/geocoder?coord=" + str(point["lat"]) + "," + str(point["lng"]) + "&referer=自己申请的key"print(pointUrl)return pointUrldef find_friend():pyautogui.hotkey("ctrl", "f")pyautogui.hotkey("ctrl", "a")pyautogui.hotkey("delete")content = pyautogui.prompt("请输入好友名:")if content is None:sys.exit()pyperclip.copy(content)pyautogui.hotkey("ctrl", "v")pyautogui.hotkey("enter")def send(msg):pyperclip.copy(msg)pyautogui.hotkey("ctrl", "v")pyautogui.hotkey("enter")# 查找进程def get_wechat():flag = Falsepids = psutil.process_iter()for p in pids:if p.name() == "WeChat.exe":flag = Trueprint(p.name())print(p.exe())os.system(p.exe())breakelse:continueif not flag:pyautogui.alert("请先登录微信!")if __name__ == '__main__':pyautogui.FAILSAFE = Truepyautogui.PAUSE = 0.2main()

不足之处
1、发送定位,发送的只能是一个链接,没有实现手机微信定位所实现的可预览的效果
2、搜索好友时,没有辨别输入的是例如聊天内容等其他东西,所以需要用户确保自己输入的是好友名

【python实现半自动化发送微信信息】以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    推荐阅读