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实现半自动化发送微信信息】以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- java中如何实现重建二叉树