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

 更新时间:2021年08月19日 08:46:03   作者:fsociety_  
这篇文章主要为大家详细介绍了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、搜索好友时,没有辨别输入的是例如聊天内容等其他东西,所以需要用户确保自己输入的是好友名

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Zabbix实现微信报警功能

    Zabbix实现微信报警功能

    这篇文章主要介绍了Zabbix实现微信报警的相关资料,本文图文并茂介绍的非常详细,需要的朋友可以参考下
    2016-10-10
  • Sentry错误日志监控使用方法解析

    Sentry错误日志监控使用方法解析

    这篇文章主要介绍了Sentry错误日志监控使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python3模拟curl发送post请求操作示例

    Python3模拟curl发送post请求操作示例

    这篇文章主要介绍了Python3模拟curl发送post请求操作,结合实例形式分析了Python3使用Request请求模拟curl发送post相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • django query模块

    django query模块

    这篇文章主要介绍了django query模块,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 微信公众号token验证失败解决方案

    微信公众号token验证失败解决方案

    这篇文章主要介绍了微信公众号token验证失败解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python数字/字符串补零操作实例代码

    Python数字/字符串补零操作实例代码

    我们在开发中为了排版方便或者是输出文件命名整洁,通常需要给数字前面补0来做统一,这篇文章主要给大家介绍了关于Python数字/字符串补零操作的相关资料,需要的朋友可以参考下
    2021-07-07
  • pandas中concat函数实现横向连接

    pandas中concat函数实现横向连接

    在pandas中,concat函数可用于合并不同的Series和DataFrame对象,本文主要介绍了pandas中concat函数实现横向连接,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • python使用psutil模块获取系统状态

    python使用psutil模块获取系统状态

    作为程序猿,大家可能都熟悉linux系统的基础信息获取方法都是通过shell来获取,但是在python中,我们还可以使用psutil模块来获取系统信息。psutil模块把shell查看系统基础信息的功能都包装了下,使用更加简单,功能丰富。
    2016-08-08
  • Python获取浏览器窗口句柄过程解析

    Python获取浏览器窗口句柄过程解析

    这篇文章主要介绍了Python获取浏览器窗口句柄过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Python游戏推箱子的实现

    Python游戏推箱子的实现

    这篇文章主要介绍了Python游戏推箱子的实现,推箱子游戏是一款可玩性极高的策略解谜手游,游戏中玩家将扮演一名可爱Q萌的角色,下面我们就看看看具体的实现过程吧,需要的小伙伴可以参考一下
    2021-12-12

最新评论