47 lines
1.6 KiB
JavaScript
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(); |