收藏了,Python爬⾍+AutoJS实现APP⾃动化发消息1. 前⾔
之前写过⼀篇⽂章,⽂中提出了⼀种⽅案,可以实现每天⾃动给发新闻早报
但是对于很多⼈来说,⾸先编写⼀款 App 需要⼀定的移动端开发经验,其次还需要另外编写⽆障碍服务应⽤,如此显得有⼀定难度的
本篇⽂章将介绍另外⼀种⽅案,即:利⽤前⾯⽂章介绍的 AutoJS 来实现⾃动给发送新闻早报
2. 爬⾍及服务
为了演⽰⽅便,这⾥以百度热搜为 新闻早报数据源,
使⽤ Requests + BeautifulSoup 按热度,爬取热度最⾼的 15 条数据
import requests
from bs4 import BeautifulSoup
def baidu_top_tipic():
"""百度热搜"""
requests_page = ('top.baidu/buzz?b=1&c=513&fr=topbuzz_b42_c513')
soup = BeautifulSoup(, "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 uvicornresource是啥意思
from fastapi import FastAPI
from every_news import *
matlab回调函数是什么# pip3 install uvicorn
# pip3 install fastapi
# 实例化
app = FastAPI()
# 每⽇新闻
@("/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 &
3. ⾃动化发送聊
在 VS Code 中编写 AutoJS 脚本
⾸先,定义⼀个给聊发送消息的⽅法
PS: 使⽤ click() 坐标执⾏点击操作仅适⽤于 Android 7.0+
//API调⽤获取新闻数据
var url = "host:6789/news";
//发送聊名称
var group_name = "聊名称";
//发送信息给
function send_wx_msg(group_name, send_msg) {
//如果休眠,唤醒设备
//注意:为了保证耗电低,设置睡眠(10s⽆操作)
device.wakeUpIfNeeded()
//打开
app.launch("");
text("").waitFor()
//点击进⼊到聊天界⾯
var chat_element_bounds = text(group_name).findOne().bounds();
//⽀持Android7.0+
click(chat_X(), chat_Y());
sleep(3000)
id("auj").className("EditText").findOne().setText(send_msg)
sleep(3000)
/
/发送消息
text("发送").click()
log("发送成功!")
//返回到⼿机桌⾯
back();
home();
然后,在主线程中启动⼀个新的线程,调⽤ API 接⼝,获取数据后将数据发送出去
//线程
threads.start(function () {
//获取新闻
<(url, {}, function (res, err) {
爬虫软件 app/
/错误
if (err) {
log("抱歉!今天获取新闻失败。。。")
return;
}mvvm框架有哪些
log("今⽇新闻获取成功!")
let html = res.body.string();
let msg = JSON.parse(html).msg;
send_wx_msg(group_name, msg)
});
})
接着,使⽤ VS Code 将源码导⼊到⼿机设备上
最后,选中源⽂件 - 右键 - 更多 - 定时任务,设置定时任务即可java环境变量配置检测
4. 最后
如此,即可以实现每天早上给指定发送新闻早报的功能
当然,如果涉及多个聊的发送,只需要使⽤ AutoJS 查询多个⽬标聊对象 + 页⾯滑动,遍历进⾏发送信息即可另外,由于⽆障碍服务的不稳定性,可以在设置中 AutoJS 应⽤服务的优先级,保证程序的稳定运⾏
如果你觉得⽂章还不错,请⼤家 点赞、分享、留⾔ 下,因为这将是我持续输出更多优质⽂章的最强动⼒!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。