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();