You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
139 lines
4.5 KiB
139 lines
4.5 KiB
import Douyin from '../bot/Douyin.mjs'; |
|
import Kuaishou from '../bot/Kuaishou.mjs'; |
|
import Xigua from '../bot/Xigua.mjs'; |
|
import Bilibili from '../bot/Bilibili.mjs'; |
|
import WebCrawler from '../bot/WebCrawler.mjs'; |
|
import getConfigs from '../config.mjs'; |
|
|
|
(async () => { |
|
//设置configs为全局变量 |
|
global.configs = await getConfigs(); |
|
|
|
let test_bot = 'douyin'; |
|
if (process.argv.length == 3) { |
|
test_bot = process.argv[2]; |
|
} |
|
console.log('当前测试Bot:%s', test_bot); |
|
|
|
let heroCloudServer = 'ws://127.0.0.1:1818'; |
|
let url = '', data = {}; |
|
|
|
switch(test_bot) { |
|
|
|
case 'douyin': |
|
//抖音测试 |
|
url = 'https://v.douyin.com/i2PBaR5B/'; //mob and pc |
|
|
|
//直播地址测试 |
|
url = 'https://v.douyin.com/i2WaMoAN/'; |
|
//已结束直播 |
|
url = 'https://v.douyin.com/i2W5TV4e/'; |
|
|
|
configs.heroTabOptions.timeoutMs = 20000; //所有内容加载完成超时 |
|
|
|
//configs.userAgent = configs.userAgents.mac_chrome; |
|
//configs.viewport = configs.viewports.pc; |
|
|
|
const douyin = new Douyin(heroCloudServer); |
|
|
|
//使用手机模式,默认为pc |
|
douyin.setMode('mob'); |
|
console.log('Hero配置', configs); |
|
|
|
console.log('请求中: %s ...', url); |
|
data = await douyin.scrap(url); |
|
console.log("解析结果:\n%s", JSON.stringify(data)); |
|
|
|
break; |
|
|
|
|
|
case 'kuaishou': |
|
//快手测试 |
|
url = 'https://www.kuaishou.com/f/X8FTguiIjZQVwE7'; //pc |
|
//url = 'https://v.kuaishou.com/7zwqe6'; //mob |
|
|
|
url = 'https://v.kuaishou.com/EvxOVx'; |
|
|
|
configs.heroTabOptions.timeoutMs = 20000; //所有内容加载完成超时 |
|
|
|
configs.userAgent = configs.userAgents.mac_chrome; |
|
configs.viewport = configs.viewports.pc; |
|
console.log('Hero配置', configs); |
|
|
|
const kuaishou = new Kuaishou(heroCloudServer); |
|
|
|
console.log('请求中: %s ...', url); |
|
data = await kuaishou.scrap(url); |
|
console.log("解析结果:\n%s", JSON.stringify(data)); |
|
|
|
break; |
|
|
|
|
|
case 'xigua': |
|
//西瓜测试 |
|
url = 'https://v.ixigua.com/ieUaqrFN/'; //mobile |
|
url = 'https://www.ixigua.com/7343928492197118518'; //pc |
|
|
|
configs.heroBotOptions.referrer = url; |
|
configs.userAgent = configs.userAgents.mac_chrome; |
|
configs.viewport = configs.viewports.pc; |
|
|
|
configs.heroTabOptions.timeoutMs = 20000; //所有内容加载完成超时 |
|
|
|
console.log('Hero配置', configs); |
|
|
|
const xigua = new Xigua(heroCloudServer); |
|
console.log('请求中: %s ...', url); |
|
//data = await xigua.scrap(`${url}?wid_try=1`); |
|
data = await xigua.scrap(url); |
|
console.log("解析结果:\n%s", JSON.stringify(data)); |
|
|
|
break; |
|
|
|
|
|
case 'bilibili': |
|
//B站测试 |
|
url = 'https://www.bilibili.com/video/BV1ep4y1J75y/?share_source=copy_web&vd_source=00bead49a4c2df31bbf3e609d7d95899'; //pc |
|
url = 'https://b23.tv/Lo0jIEt'; //mob |
|
|
|
//正在直播页面 |
|
url = 'https://b23.tv/EnwbTKc'; |
|
|
|
configs.heroTabOptions.timeoutMs = 20000; //所有内容加载完成超时 |
|
|
|
configs.userAgent = configs.userAgents.mac_chrome; |
|
configs.viewport = configs.viewports.pc; |
|
|
|
console.log('Hero配置', configs); |
|
|
|
const bilibili = new Bilibili(heroCloudServer); |
|
console.log('请求中: %s ...', url); |
|
data = await bilibili.scrap(url); |
|
console.log("解析结果:\n%s", JSON.stringify(data)); |
|
|
|
break; |
|
|
|
default: |
|
//普通网站 |
|
url = 'https://www.baidu.com'; |
|
url = 'https://www.zhihu.com'; |
|
url = 'https://ogp.me/'; |
|
url = 'https://www.zhihu.com/signin?next=%2F'; |
|
|
|
configs.heroTabOptions.timeoutMs = 20000; //所有内容加载完成超时 |
|
|
|
configs.userAgent = configs.userAgents.mac_chrome; |
|
configs.viewport = configs.viewports.pc; |
|
|
|
console.log('Hero配置', configs); |
|
const crawler = new WebCrawler(heroCloudServer, 'webcrawler'); |
|
console.log('请求中: %s ...', url); |
|
data = await crawler.scrap(url); |
|
console.log("解析结果:\n%s", JSON.stringify(data)); |
|
|
|
break; |
|
|
|
} |
|
|
|
process.exit(0); |
|
})();
|
|
|