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

作者:fsociety_ 时间:2023-07-16 09:15:38 

本文实例为大家分享了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 sys

import psutil
import pyautogui
import time
import os
import pyperclip
import json
import requests

def 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 = False
   resp = 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 pointUrl

def 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 = False
   pids = psutil.process_iter()
   for p in pids:
       if p.name() == "WeChat.exe":
           flag = True
           print(p.name())
           print(p.exe())
           os.system(p.exe())
           break
       else:
           continue
   if not flag:
       pyautogui.alert("请先登录微信!")

if __name__ == '__main__':
   pyautogui.FAILSAFE = True
   pyautogui.PAUSE = 0.2
   main()

不足之处

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

来源:https://blog.csdn.net/qq_37688753/article/details/119518143

标签:python,发送微信
0
投稿

猜你喜欢

  • Python入门篇之面向对象

    2023-10-19 16:31:51
  • 简单三步轻松实现ORACLE字段自增

    2024-01-16 06:06:58
  • 详解IDEA git分支回退指定的历史版本

    2022-01-25 16:03:55
  • python3 读取Excel表格中的数据

    2021-01-14 23:03:42
  • 用python发送微信消息

    2022-04-14 07:16:55
  • python中Genarator函数用法分析

    2023-01-03 16:50:52
  • MySQL备份时排除指定数据库的方法

    2024-01-19 03:59:21
  • 详解PHP合并多个PDF文件的方法

    2023-06-15 07:05:22
  • Go语言实现的树形结构数据比较算法实例

    2023-08-06 18:18:39
  • mysql 插入优化

    2010-12-14 15:29:00
  • PHP之mysql位运算案例讲解

    2023-06-13 06:16:19
  • django xadmin中form_layout添加字段显示方式

    2023-08-06 23:59:12
  • Python基础必备之语法结构详解

    2023-12-07 05:29:06
  • Python实战项目之MySQL tkinter pyinstaller实现学生管理系统

    2024-01-15 16:21:25
  • Python全面分析系统的时域特性和频率域特性

    2022-12-04 06:32:12
  • 彻底解决页面文字编码乱码问题

    2022-09-17 02:08:49
  • python3 pathlib库Path类方法总结

    2022-06-10 18:38:11
  • nodeJS express路由学习req.body与req.query方法实例详解

    2024-06-05 09:52:34
  • Python timeit模块的使用实践

    2023-09-15 00:36:55
  • Python实现计算两个时间之间相差天数的方法

    2022-11-09 06:04:59
  • asp之家 网络编程 m.aspxhome.com