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、搜索好友时,没有辨别输入的是例如聊天内容等其他东西,所以需要用户确保自己输入的是好友名

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

相关文章

  • 操作Windows注册表的简单的Python程序制作教程

    操作Windows注册表的简单的Python程序制作教程

    这篇文章主要介绍了操作Windows注册表的简单的Python程序制作教程,包括远程对注册表进行修改的实现,需要的朋友可以参考下
    2015-04-04
  • Python+selenium 获取浏览器窗口坐标、句柄的方法

    Python+selenium 获取浏览器窗口坐标、句柄的方法

    今天小编就为大家分享一篇Python+selenium 获取浏览器窗口坐标、句柄的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python+Selenium使用Page Object实现页面自动化测试

    Python+Selenium使用Page Object实现页面自动化测试

    这篇文章主要介绍了Python+Selenium使用Page Object实现页面自动化测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python实现的栈(Stack)

    Python实现的栈(Stack)

    栈作为一种数据结构,是一种只能在一端进行插入和删除操作。这篇文章给大家介绍了Python实现的栈(Stack)的相关资料,感兴趣的朋友一起看看吧
    2018-01-01
  • Python 过滤字符串的技巧,map与itertools.imap

    Python 过滤字符串的技巧,map与itertools.imap

    Python中的map函数非常有用,在字符转换和字符遍历两节都出现过,现在,它又出现了,会给我们带来什么样的惊喜呢?是不是要告诉我们,map是非常棒的,以后要多找它玩呢?
    2008-09-09
  • Python绘制多因子柱状图的实现示例

    Python绘制多因子柱状图的实现示例

    本文主要介绍了Python绘制多因子柱状图的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • Python使用Matplotlib实现雨点图动画效果的方法

    Python使用Matplotlib实现雨点图动画效果的方法

    这篇文章主要介绍了Python使用Matplotlib实现雨点图动画效果的方法,结合实例形式分析了win10安装ffmpeg及animation函数的使用相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • 启动Atom并运行python文件的步骤

    启动Atom并运行python文件的步骤

    在本篇文章中我们给大家分享了启动Atom并运行python文件的步骤以及具体做法,需要的朋友们参考下。
    2018-11-11
  • 浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点

    浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点

    这篇文章主要介绍了浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 如何查看python关键字

    如何查看python关键字

    在本篇文章里小编给大家整理的是一篇关于python关键字的查看方法和实例内容,有兴趣的朋友们可以学习下。
    2021-01-01

最新评论