下载地址:https://www.pan38.com/yun/share.php?code=JCnzE 提取密码:1133
这个系统包含三个主要模块:商品采集模块负责从淘宝采集低价商品数据,私信发送模块实现阿里旺旺自动私信功能,主控制模块协调整个流程。使用时需要先授予AutoJS必要的权限,建议在模拟器上测试运行。
/**
* 淘宝低价商品采集器
* 功能:自动采集指定关键词的低价商品
*/
auto.waitFor();
const deviceWidth = device.width;
const deviceHeight = device.height;
setScreenMetrics(deviceWidth, deviceHeight);
// 配置参数
const config = {
keyword: "手机", // 搜索关键词
maxPrice: 500, // 最高价格
minSales: 100, // 最低销量
scrollCount: 10 // 滚动次数
};
// 主函数
function main() {
launchTaobao();
searchProduct(config.keyword);
let products = crawlProducts();
let filtered = filterProducts(products);
saveToFile(filtered);
}
function launchTaobao() {
app.launch("com.taobao.taobao");
sleep(5000);
// 跳过引导页
if (id("com.taobao.taobao:id/skip").exists()) {
id("com.taobao.taobao:id/skip").click();
}
sleep(2000);
}
function searchProduct(keyword) {
// 点击搜索框
let searchBox = id("com.taobao.taobao:id/searchEdit").findOne();
searchBox.click();
sleep(1000);
// 输入关键词
setText(keyword);
sleep(1000);
// 点击搜索按钮
let searchBtn = text("搜索").findOne();
searchBtn.click();
sleep(5000);
}
function crawlProducts() {
let products = [];
for (let i = 0; i < config.scrollCount; i++) {
let items = className("android.view.View").depth(14).find();
items.forEach(item => {
let product = parseProduct(item);
if (product) products.push(product);
});
scrollDown();
sleep(2000);
}
return products;
}
function parseProduct(item) {
try {
let bounds = item.bounds();
let priceText = className("android.view.View").textMatches(/¥\d+/).inside(item).findOne().text();
let price = parseFloat(priceText.replace("¥", ""));
let title = className("android.view.View").depth(16).inside(item).findOne().text();
let salesText = className("android.view.View").textMatches(/\d+人付款/).inside(item).findOne().text();
let sales = parseInt(salesText.replace("人付款", ""));
return {
title: title,
price: price,
sales: sales,
bounds: bounds
};
} catch (e) {
return null;
}
}
function filterProducts(products) {
return products.filter(p =>
p.price <= config.maxPrice &&
p.sales >= config.minSales
).sort((a, b) => a.price - b.price);
}
function saveToFile(products) {
let path = "/sdcard/taobao_products.json";
files.write(path, JSON.stringify(products, null, 2));
toast("已保存" + products.length + "个商品到" + path);
}
function scrollDown() {
swipe(deviceWidth / 2, deviceHeight * 0.8,
deviceWidth / 2, deviceHeight * 0.2, 500);
}
main();
/**
* 阿里旺旺自动私信工具
* 功能:自动向指定用户发送私信
*/
auto.waitFor();
const deviceWidth = device.width;
const deviceHeight = device.height;
setScreenMetrics(deviceWidth, deviceHeight);
// 配置参数
const config = {
message: "您好,看到您浏览过我们的商品,现在有优惠活动,欢迎咨询!",
sendDelay: 3000, // 发送间隔(ms)
maxSend: 50 // 最大发送量
};
// 主函数
function main() {
launchAliww();
let contacts = getContacts();
sendMessages(contacts);
}
function launchAliww() {
app.launch("com.alibaba.wireless");
sleep(8000);
// 跳过引导页
if (id("com.alibaba.wireless:id/close").exists()) {
id("com.alibaba.wireless:id/close").click();
}
sleep(2000);
}
function getContacts() {
// 进入联系人列表
id("com.alibaba.wireless:id/tab_contacts").findOne().click();
sleep(3000);
let contacts = [];
let items = className("android.widget.RelativeLayout").depth(12).find();
items.forEach(item => {
let name = className("android.widget.TextView").depth(13).inside(item).findOne().text();
contacts.push({
name: name,
bounds: item.bounds()
});
});
return contacts.slice(0, config.maxSend);
}
function sendMessages(contacts) {
// 进入聊天界面
id("com.alibaba.wireless:id/tab_message").findOne().click();
sleep(2000);
for (let i = 0; i < contacts.length; i++) {
let contact = contacts[i];
click(contact.bounds.centerX(), contact.bounds.centerY());
sleep(3000);
// 输入消息
let input = id("com.alibaba.wireless:id/chatting_content_et").findOne();
input.setText(config.message);
sleep(1000);
// 发送
id("com.alibaba.wireless:id/chatting_send_btn").findOne().click();
sleep(config.sendDelay);
// 返回
back();
sleep(2000);
}
}
main();
/**
* 淘宝低价商品采集+阿里旺旺私信群发系统
* 主控制模块
*/
const crawler = require("./taobao_crawler.js");
const messenger = require("./aliww_messenger.js");
// 执行商品采集
crawler.main();
sleep(5000);
// 读取采集结果
let products = JSON.parse(files.read("/sdcard/taobao_products.json"));
console.log("采集到商品数量:", products.length);
// 生成个性化消息
let messages = products.map(p =>
`您好,发现超值商品:${p.title},仅需¥${p.price},销量${p.sales},欢迎咨询!`
);
// 执行私信发送
messenger.config.message = messages[0]; // 使用第一个商品信息
messenger.config.maxSend = Math.min(10, products.length);
messenger.main();
toast("任务执行完成");
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。