网络编程
位置:首页>> 网络编程>> Python编程>> python实现半自动化发送微信信息

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

0
投稿

猜你喜欢

  • 本文实例讲述了PHP面向对象程序设计之类与反射API。分享给大家供大家参考,具体如下:了解类class_exists验证类是否存在<?
  • 偶然发现linux系统附带的一个数独游戏,打开玩了几把。无奈是个数独菜鸟,以前没玩过,根本就走不出几步就一团浆糊了。于是就打算借助计算机的强
  • 内容摘要:本文详细介绍了SQL Server导入导出数据的方法:(1)导出导入SQL Server里某个数据库,(2)导
  • 在通过拼组sql语句来实现数据插入的应用中,我们很有可能会遇到需要插入大型数据的情况,例如,在oracle中需要插入字节数超过4000的字段
  • 前几天,看到有人写了个superLink的东东,主要的做什么用呢?我们有时会给在大块元素加个window.location='htt
  • 尽管Python事实上并不是一门纯函数式编程语言,但它本身是一门多范型语言,并给了你足够的自由利用函数式编程的便利。函数式风格有着各种理论与
  •  页面是这样的我尝试了很多次,都不响应。代码是这样的import xlrd###导入数据def read_data(workboo
  • 是的,这仅仅是一个PPT文档,由Anna Debenham上传至slideshare。幻灯片的标题叫做《CSS nuggets》,嗯,很好的
  • 一、简述最近接到一个新需求,让做一个动效进度条。由于我们的产品比较大,在软件启动的时候会消耗比较长的时间,原生的进度条已经不能满足我们的需求
  • Python字符串拼接的6种方法:1.加号第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此直接
  • 我就废话不多说了,大家还是看代码吧! import PyPDF2 import repdf_file = open('xxx.pdf
  • F查询在上面所有的例子中,我们构造的过滤器都只是将字段值与某个我们自己设定的常量做比较。如果我们要对两个字段的值做比较,那该怎么做呢?Dja
  • 但GAE、Django并没有直接将pyExcelerator导出为Excel的方法。我的思路是先用把数据导入到Workbook和Worksh
  • 本文实例讲述了python写入xml文件的方法。分享给大家供大家参考。具体分析如下:本范例通过xml模块对xml文件进行写入操作from x
  • python使用socket创建tcp服务器和客户端。服务器端为一个时间戳服务器,在接收到客户端发来的数据后,自动回复。客户端,等待用户输入
  • JavaScript图片水平翻转后垂直翻反转的特效一:<!--把下列代码加到body区域内--><SCRIPT langu
  • 蚁群算法简介蚁群算法(Ant Clony Optimization, ACO)是一种群智能算法,它是由一群无智能或有轻微智能的个体(Agen
  • 我就废话不多说了,大家还是直接看代码吧!import kerasfrom keras.datasets import cifar10from
  • 论坛经常有人会问到用CSS如何美化Select标签,其实但凡你看到很酷的都是用javascript来实现的。昨天试着做了一下,基本实现的初级
  • 这段时间写了很多页面代码,除了一些知识重复以外,也学到css的一些新东西,或许是旧东西,但是还是希望能对大家有用。其实在css里面有很多对a
手机版 网络编程 asp之家 www.aspxhome.com