dailiip/test-scraper-with-validation.js
2025-10-30 23:05:24 +08:00

47 lines
1.6 KiB
JavaScript

const ProxyScraper = require('./src/services/scraper');
const Database = require('./src/database/db');
const ProxyModel = require('./src/database/models/proxy');
async function testScraperWithValidation() {
console.log('测试抓取器带验证功能...');
try {
// 初始化数据库连接
console.log('初始化数据库连接...');
await Database.connect();
await ProxyModel.initTable();
// 清理之前的数据
console.log('清理之前的数据...');
await Database.run('DELETE FROM proxies');
const scraper = new ProxyScraper();
// 测试抓取第1页
console.log('开始抓取第1页...');
const result = await scraper.scrapePage(1);
console.log(`抓取结果: ${result.length} 个验证通过的代理`);
// 查询数据库中的代理数量
const totalCount = await ProxyModel.count();
const validCount = await ProxyModel.count(true);
console.log(`数据库状态: 总数 ${totalCount},可用 ${validCount}`);
if (result.length > 0) {
console.log('\n验证通过的代理:');
result.forEach((proxy, index) => {
console.log(`${index + 1}. ${proxy.ip}:${proxy.port} - ${proxy.location || '未知位置'} - 响应时间:${proxy.response_time || '未知'}ms`);
});
}
// 关闭数据库连接
await Database.close();
} catch (error) {
console.error('测试失败:', error.message);
console.error('错误堆栈:', error.stack);
}
}
testScraperWithValidation();