吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 17307|回复: 91
收起左侧

[Python 原创] 【Python】企业微信机器人V2.0源码及自动化部署教程

    [复制链接]
ARtcgb 发表于 2021-4-26 21:24

2.0版本
新增功能:通过企业微信发送Markdown文本,优化热搜爬取观感。

效果图



artcgb_2021-04-26 20.59.40.jpg

1.0版本(含功能介绍,教程,源代码)

源代码

# -*- coding: utf-8 -*-
import datetime
import time

import fake_useragent
import requests
import simplejson as json
from bs4 import BeautifulSoup

def get_fake_ua():
    location = './fake_useragent_0.1.11.json'
    ua = fake_useragent.UserAgent(path=location)

    headers = {
        'user-agent': ua.random
    }
    return headers

def get_week_day(date):
    week_day_dict = {
        0: '星期一',
        1: '星期二',
        2: '星期三',
        3: '星期四',
        4: '星期五',
        5: '星期六',
        6: '星期天',
    }
    day = date.weekday()
    return "今天日期为:" + str(datetime.date.today()) + ' ' + week_day_dict[day]

def get_weather():
    url = "https://d1.weather.com.cn/sk_2d/101010100.html?_=1618886817920"
    r_url = requests.get(url, headers=get_fake_ua())
    message = json.loads(r_url.text.encode("latin1").decode("utf8").replace("var dataSK = ", ""))
    cityname = message['cityname']
    aqi = int(message['aqi'])
    sd = message['sd']
    wd = message['WD']
    ws = message['WS']
    temp = message['temp']
    weather = message['weather']
    if aqi <= 50:
        airQuality = "优"
    elif aqi <= 100:
        airQuality = "良"
    elif aqi <= 150:
        airQuality = "轻度污染"
    elif aqi <= 200:
        airQuality = "中度污染"
    elif aqi <= 300:
        airQuality = "重度污染"
    else:
        airQuality = "严重污染"
    return cityname + " " + '今日天气:' + weather + ' 温度:' + temp + ' 摄氏度 ' + wd + ws + ' 相对湿度:' + sd + \
        ' 空气质量:' + str(aqi) + "(" + airQuality + ")"

def get_top_list():
    requests_page = requests.get('http://top.baidu.com/buzz?b=1&c=513&fr=topbuzz_b42_c513')
    soup = BeautifulSoup(requests_page.text, "lxml")
    soup_text = soup.find_all("a", class_='list-title')
    i = 0
    top_list = []
    for text in soup_text:
        i += 1
        top_list.append("[" + text.string.encode("latin1").decode("GBK") + "](" + text['href'] + ")")
        if i == 10:
            break
    return top_list

def get_daily_sentence():
    url = "http://open.iciba.com/dsapi/"
    r = requests.get(url, headers=get_fake_ua())
    r = json.loads(r.text)
    content = r["content"]
    note = r["note"]
    daily_sentence = "> " + content + "\n" + "> " + note
    return daily_sentence

def greetings():
    hour = int(time.strftime('%H', time.localtime(time.time())))
    if hour == 6:
        return "各位同学早上好!\n"
    if hour == 12:
        return "各位同学中午好!"
    if hour == 21:
        return "各位同学晚上好!"
    else:
        return "测试信息"

def get_sendContent():
    sendContent = greetings() + "\n" + get_week_day(datetime.date.today()) + "\n\n" + get_weather() + "\n\n" + str(
        get_top_list()).replace("', '", '\n').replace("['", "").replace("']", "") + "\n\n" + get_daily_sentence()
    return sendContent

def send(content):
    url = "" #填写你自己的机器人配置链接
    headers = {"Content-Type": "text/plain"}
    data = {
        "msgtype": "markdown",
        "markdown": {
            "content": content,
        }
    }
    requests_url = requests.post(url, headers=headers, data=json.dumps(data))
    if requests_url.text == '{"errcode":0,"errmsg":"ok"}':
        return "发送成功"
    else:
        return "发送失败" + requests_url.text

print(send(get_sendContent()))

教程


企业微信群机器人配置教程

在企业微信任何一个群聊内点击群机器人,添加机器人即可,获取企业微信机器人的Webhook地址,填入源代码中注释部分作为post的url内即可。

官方文档

更改获取天气的地区

本链接中打开F12,Network刷新找到city.js



artcgb_2021-04-26 21.05.19.jpg

在这个里面找到你所在地区的AREAID,替到换http://www.weather.com.cn/weather1d/101020100.shtml
的数字部分填入get_weather函数的url部分即可。

也可以直接在地图中找到自己所在地区的网页url填入。


脚本自动化定时部署教程

macOS

自行安装Lingon X,破解版地址,不保证安全,本人用的是这个版本的,自己权衡。

打开Lingon X,点击左上角新建脚本。



artcgb_2021-04-26 21.12.49.jpg

第一步,选择 为用户名称 创建,自行填入脚本名称,点击下一步。

第二步,选择脚本,点击下一步。

第三步,新建脚本,写入命令。

#!/bin/zsh

cd (脚本所在的上层目录)
python3 (脚本名称).py

存储,点击下一步。

第四步,时间选择已计划,按需求填写脚本执行时间即可。

注意,脚本运行判断时间需要你的电脑保持运行状态,需要深夜运行脚本的清洗请部署在服务器上。自己没醒就不要要求电脑可以执行!!!


Windows

参考本篇文章。我没有Windows运行环境无法演示

免费评分

参与人数 25吾爱币 +26 热心值 +19 收起 理由
bladexd88 + 1 我很赞同!
manjixx + 1 谢谢@Thanks!
h0476 + 1 + 1 我很赞同!
j2000yk + 1 热心回复!
白开 + 1 + 1 我很赞同!
佳期若梦 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
晕晕cc + 1 + 1 用心讨论,共获提升!
莫凉生 + 1 + 1 谢谢@Thanks!
yjn866y + 1 + 1 我很赞同!
闲庭信步之 + 1 热心回复!
painstaking1 + 1 + 1 谢谢@Thanks!
1736809 + 1 我很赞同!
jefflo + 1 谢谢@Thanks!
Rothschild_HHU + 1 鼓励转贴优秀软件安全工具和文档!
lostlq + 1 + 1 我很赞同!
kk1212 + 1 谢谢@Thanks!
ppszxc + 1 + 1 用心讨论,共获提升!
0821fzh + 1 + 1 谢谢@Thanks!
deyen + 1 谢谢@Thanks!
天空宫阙 + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
atlas.吾爱破解 + 1 我很赞同!
crazydingo + 1 用心讨论,共获提升!
xu15219367909 + 2 + 1 用心讨论,共获提升!
lylgzxd + 1 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

hqt 发表于 2021-4-26 21:50
建议自动部署使用
腾讯云函数(优点:免费,国内,速度快 缺点:实名认证)
Github action (优点:免费 无需实名 缺点:部署困难
北极meng 发表于 2021-5-26 05:56
酋长萨尔A 发表于 2021-4-26 22:19
ppszxc 发表于 2021-4-26 23:33
不错哦,改成php,仍在网站里使用
91mumu 发表于 2021-4-27 02:32
推荐还是上云函数吧
王雪峰 发表于 2021-4-27 06:42
企业微信都有机器人了
wan1330 发表于 2021-4-27 07:49
感谢,源码学习一下
ppss6 发表于 2021-4-27 07:52
机器人好用
luolovehk 发表于 2021-4-27 08:00
请问钉钉机器人能用吗?
江南云 发表于 2021-4-27 08:15
这是企业微信机器人自动推送的天气等,不知道有没有自己的私人微信也好自动推送天气和新闻啊?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 07:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表