python自动发文件到微信群 (python企业微信发送表格)

要实现自动发送每日简报到企业微信群,可以使用以下步骤:

首先需要在企业微信管理后台创建一个机器人(也叫Webhook),并获取相应的Key,用于后续发送消息。具体操作可以参考官方文档。

编写Python脚本,获取当日需要发送的消息内容,并使用企业微信机器人发送到指定的群组。具体步骤如下:

使用requests模块请求需要爬取信息的网站,获取当日的新闻或者其他内容;

解析获取到的HTML内容,提取需要发送的消息内容;

实例化一个企业微信机器人对象,使用该对象的send_message()方法发送消息到指定的企业微信群组。

使用定时任务工具,如schedule模块,定期执行上述Python脚本,从而实现每日自动发送简报到群组的功能。

以下是一份示例代码,可以供你参考:

import requests
import re
import schedule
import time


class WeChatBot:
    def __init__(self, key):
        self.wxurl = f'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key={key}'

    def send_message(self,
                     content='',
                     mentioned_list=[],
                     mentioned_mobile_list=[]):
        data = {
            "msgtype": "text",
            "text": {
                "content": content,
                "mentioned_list": mentioned_list,
                "mentioned_mobile_list": mentioned_mobile_list
            }
        }
        res = requests.post(self.wxurl, json=data).json()


def get_daily_brief():
    # 请求当日需要发送的消息内容,这里以网页爬虫获取新闻内容为例
    url = "https://news.sina.com.cn/china/"
    headers = {
        'User-Agent':
        'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'
    }
    rsp = requests.get(url, headers=headers)
    content = rsp.content.decode('utf-8', 'ignore')
    news_list = re.findall('(?<=<a href=).*?(?=>).*?(?=</a>)', content)
    msg = ''
    for i, news in enumerate(news_list):
        title = re.findall('(?<=>).*', news)[0]
        link = re.findall('(?<=href=").*(?=")', news)[0]
        msg += f'{i + 1}. <a href="{link}">{title}</a>\n'
    return msg


if __name__ == "__main__":
    # 填写你自己的企业微信机器人Webhook Key
    bot = WeChatBot('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')

    # 定时执行发送简报任务,每天早上7点半发送
    schedule.every().day.at('07:30').do(
        lambda: bot.send_message(content=get_daily_brief(),
                                 mentioned_list=['@all']))

    while True:
        schedule.run_pending()
        time.sleep(1)

此代码将每天早上7点半发送当日新闻到企业微信群组,你可以根据自己的需求调整发送时间和消息内容。需要注意的是,在实际使用中,你需要将Webhook Key替换成自己的Key,才能使代码正常运行。

python实现向企业微信群发消息,python批量发送企业微信文件