大家好,我是辰哥~

对于很多人来说,首先编写一款 App 需要一定的移动端开发经验,其次还需要另外编写无障碍服务应用,如此显得有一定难度的。

本篇文章将介绍另外一种方案,即:利用前面文章介绍的 AutoJS 来实现自动给微信群发送新闻早报

1. 爬虫及服务

为了演示方便,这里以百度热搜为新闻早报数据源,

使用 Requests + BeautifulSoup 按热度,爬取热度最高的 15 条数据

import requests
from bs4 import BeautifulSoupdef baidu_top_tipic():"""百度热搜"""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("div", class_='c-single-text-ellipsis', text=True)top_list = []for index, text in enumerate(soup_text):top_list.append((str(index + 1) + "、" + text.string.strip()))# 取热度最高的15条数据return '\n'.join(top_list[:15])

然后,利用 FastAPI 编写获取新闻早报的 API,部署到云服务器上(这里以 CentOS 为例)

import uvicorn
from fastapi import FastAPI
from every_news import *# pip3 install uvicorn
# pip3 install fastapi# 实例化
app = FastAPI()# 每日新闻
@app.get("/news")
async def rsc_api():msg = get_news()return {"code": 200,"msg": msg}if __name__ == '__main__':uvicorn.run(app='news_api:app', host="0.0.0.0",port=6789, reload=True, debug=True)

最后,运行下面命令使服务在后台运行

# 命令行后台运行
# 日志目录:/news_api.log
nohup python3 /xag/news_api.py >  /news_api.log 2>&1 &

2. 自动化发送群聊

在 VS Code 中编写 AutoJS 脚本

首先,定义一个给群聊发送消息的方法

PS:使用 click() 坐标执行点击操作仅适用于 Android 7.0+

//API调用获取新闻数据
var url = "http://host:6789/news";//发送群聊名称
var group_name = "群聊名称";//发送信息给微信群
function send_wx_msg(group_name, send_msg) {//如果休眠,唤醒设备//注意:为了保证耗电低,设置睡眠(10s无操作)device.wakeUpIfNeeded()//打开微信app.launch("com.tencent.mm");text("微信").waitFor()//点击进入到聊天界面var chat_element_bounds = text(group_name).findOne().bounds();//支持Android7.0+click(chat_element_bounds.centerX(), chat_element_bounds.centerY());sleep(3000)id("auj").className("EditText").findOne().setText(send_msg)sleep(3000)//发送消息text("发送").click()log("发送成功!")//返回到手机桌面back();home();

然后,在主线程中启动一个新的线程,调用 API 接口,获取数据后将数据发送出去

//线程
threads.start(function () {//获取新闻http.get(url, {}, function (res, err) {//错误if (err) {log("抱歉!今天获取新闻失败。。。")return;}log("今日新闻获取成功!")let html = res.body.string();let msg = JSON.parse(html).msg;send_wx_msg(group_name, msg)});
})

接着,使用 VS Code 将源码导入到手机设备上

最后,选中源文件 - 右键 - 更多 - 定时任务,设置定时任务即可

3. 最后

如此,即可以实现每天早上给指定群发送新闻早报的功能

当然,如果涉及多个群聊的发送,只需要使用 AutoJS 查询多个目标群聊对象 + 页面滑动,遍历进行发送信息即可

另外,由于无障碍服务的不稳定性,可以在设置中 AutoJS 应用服务的优先级,保证程序的稳定运行

如果你觉得文章还不错,请大家 点赞、分享、留言 下

精彩

建议收藏,22个Python迷你项目(附源码)

有了这款Python神器,新手也会调试代码!

利用Python完成App端自动化的最佳方案相关推荐

  1. App 端自动化的最佳方案,完全解放双手!

    点击上方 "AirPython",选择 "加为星标" 第一时间关注 Python 原创干货! 1. 前言 大家好,我是安果! 之前写过一篇文章,文中提出了一种方 ...

  2. pythonapp自动化_基于python的App UI自动化环境搭建

    Android端Ui 自动化环境搭建 一,安装JDK.SDK 二,添加环境变量 Widows: 1.系统变量→新建 JAVA_HOME 变量 E:\Java\jdk1.7.0 jdk安装目录 2.系统 ...

  3. python实现app自动签到器_利用Python实现App自动签到领取积分

    要自动签到,最简单的是打开页面分析请求,然后我们用脚本实现请求的自动化.但是发现食行没有页面,只有 APP,这不是一个好消息,这意味着需要抓包处理了. 有需要Python学习资料的小伙伴吗?小编整理[ ...

  4. Python实现APP UI自动化以及OpenCV图像识别元素

    OpenCV图像识别元素代码 # -*- encoding=utf-8 -*-__author__ = 'Jeff.xie'import cv2 import sysdef _tran_canny(i ...

  5. 利用python开发app实战

    我很早之前就想开发一款app玩玩,无奈对java不够熟悉,之前也没有开发app的经验,因此一直耽搁了.最近想到尝试用python开发一款app,google搜索了一番后,发现确实有路可寻,目前也有了一 ...

  6. app能不能跳转外部h5_利用条件编译在app端使用h5+(网页跳转 实例)

    利用条件编译在app端使用h5 在 uni-app 中可以使用条件编译发挥各自平台的特色能力,h5+ 对象为 plus,在js中我们可以通过条件编译调用它 ^_^ 语法格式 // #ifdef APP ...

  7. 利用Python开发App

    我很早之前就想开发一款app玩玩,无奈对java不够熟悉,之前也没有开发app的经验,因此一直耽搁了.最近想到尝试用python开发一款app,google搜索了一番后,发现确实有路可寻,目前也有了一 ...

  8. 利用Python开发App,来一起看看他是怎么做的。

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 本文来自腾讯云,作者:Python小二 最近想到尝试用python开发一款app, ...

  9. [539]利用python开发app

    说在前面的话 python语言虽然很万能,但用它来开发app还是显得有点不对路,因此用python开发的app应当是作为编码练习.或者自娱自乐所用,加上目前这方面的模块还不是特别成熟,bug比较多,总 ...

最新文章

  1. 来呀!AI喊你斗地主——首个搞定斗地主的深度神经网络
  2. 阿里程序员工作小技巧:理解CPU分支预测,提高代码效率
  3. 进入编译器后,一个函数经历了什么?
  4. url主机域名可以省略_网站迁移虚拟主机怎么样能不影响网站优化
  5. Exchange2010配置实验(七)DAG配置实验
  6. 解决webview.loadUrl()会加载系统浏览器
  7. 功能强大的被动开源情报自动化侦察框架
  8. C++中实现 time_t, tm 相互转换
  9. Bell数的生成函数推导
  10. Java SE Eclipse中引入第三方jar及class
  11. 软件测试理论入门(二)
  12. 最新版dotnet-cli下的ASP.NET Core和asp.net mvc【RC2尝鲜】
  13. java 验证码校验_JavaWeb验证码校验功能代码实例
  14. VC++任意格式时间字符串转换为CTime类型以及计算时差
  15. (转载)找工作那年,我真的哭了
  16. 罗马数字和阿拉伯数字转换
  17. ORB feature to FAST,定向快速旋转简报
  18. Netcore磊科NW336驱动Win7下载 NW336 150M无线USB网卡驱动
  19. x86 android 显卡 tablet2,随心而变 ThinkPad Tablet 2评测
  20. 使用Matlab对大地测量学中的大地坐标和大地空间直角坐标进行相互转换

热门文章

  1. 欢迎加入我的交流学习群,扫码即可无条件无门槛加入,群员共享大量资源
  2. 腾讯2021年营收依然稳居互联网大厂前列,是真的到了“大而不能倒”的程度吗?
  3. 计算机安装调试维修员五级算积分吗,计算机安装调试维修员(五级)理论知识.doc...
  4. java生成一维码和二维码
  5. 机器学习模型解释性之Shapley Value
  6. 使用 xxd 修改二进制文件
  7. 合并排序(归并排序)
  8. 第十五周总结——静一静吧
  9. 编程还是被编程?这是个问题
  10. 大厂必备!mysql视图可以修改吗