python实现半自动化发送微信信息
作者:fsociety_ 发布时间:2023-07-16 09:15:38
标签: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 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


猜你喜欢
- JS 添加千分位,测试可以使用<script language="javascript" type="t
- 你可以按照以下方法使用 ls 命令来查看你的系统中都有那些 Python 的二进制文件可供使用。$ ls /usr/bin/python*/
- python 对excel的 读入 与 改写(对比xlwt、openpyxl、xlrd)xlwt不支持写xlsx文件。openpyxl不支持
- 为什么要讲 __repr__在 Python 中,直接 print 一个实例对象,默认是输出这个对象由哪个类创建的对象,以及在内存中的地址(
- 安装python之后,我们往往面临这样一个问题,在命令行输入“python”,竟然出错,难道是没有安装成功吗?非也,其实是你的系统环境变量没
- UUID 全称是 Universally unique identifier,它是一种识别符,使用任意的计算机都可以生成,不需要一个中央数据
- go协程上下文contextgolang的context 主要用来在 goroutine 之间传递上下文信息,包括:取消信号、超时时间、截止
- 最近有一个小项目,有如下的需求:将某几个源码文件夹进行打包,文件夹内有py文件、dll文件、exe文件等各种文件类型打包生成的安装包,在进行
- 本文实例讲述了Python使用pylab库实现绘制直方图功能。分享给大家供大家参考,具体如下:Python直方图#!/usr/bin/pyt
- 导语:Python如何下载网页上的图片呢?今天小编给大家分享另一个Python应用小程序,就是:用Python控制摄像头录制视频!学会了也可
- SQL Server中一共提供了三个字符串截取函数:LEFT()、RIGHT()、SUBSTRING()。一、LEFT()函数函数说明如下:
- 一、简单优化1.图片纹理大小尽量为2的幂次方(比如128,512,1024等等),以便unity对其进行优化。2.将多个小图片纹理合并一个大
- 样式表是一种为超文本标签语言提供增强补充服务的技术,可对每一个html的标签做精雕细刻的修饰。只用html制作的网页,对页面内各部分的修饰能
- 在本文中,将详细介绍Playwright的文本框操作, 包括如何获得文本框的值, 以及向文本框中添加单行和多行文本。田辛老师将用网上的一个测
- 直角三角形rows = int(input('输入列数:'))for i in range(1, rows):print(&
- 1. 引言山脊图一般由垂直堆叠的折线图组成,这些折线图中的折线区域间彼此重叠,此外它们还共享相同的x轴.山脊图经常以一种相对不常见且非常适合
- MySQL 中,可以为某张表指定多个索引,但在语句具体执行时,选用哪个索引是由 MySQL 中执行器确定的。那么执行器选择索引的原则是什么,
- 1.首先axios不支持vue.use()方式声明使用看了所有近乎相同的axios文档都没有提到这一点建议方式在main.js中如下声明使用
- 内容摘要:在本人上一篇教程《彻底弄懂CSS盒子模式五(定位强化练习) 》有讲到一个很酷的链接面板提示的实例制作,那时主要是用到di
- 由于Internet的历史原因,apin负责整个网络IP的整体规划以及北美区