Spaces:
Running
Running
const axios = require('axios'); | |
const fs = require('fs'); | |
const cron = require('node-cron'); | |
const http = require('http'); | |
const path = require('path'); | |
const port = process.env.PORT || 7860; | |
// 定义要访问的网页URL数组 | |
const urls = [ | |
// huggingface | |
'https://connorlixyz-jgkp9p1macbvfqzu.hf.space', // huggingface-本项目 | |
// Goorm | |
'https://75b4f056-6316-4113-8079-5465cacbbc7d.e1-eu-north-azure.choreoapps.dev', // Goorm-linshi | |
'https://798f9c74-90e5-496e-b0bf-fe010324b0e7.e1-eu-north-azure.choreoapps.dev', // MC-servers-py | |
// US4 | |
'https://20c2aa79-0795-4b71-bad9-8a8d05ed3e92.e1-eu-north-azure.choreoapps.dev', // MC-servers-py | |
// 添加更多的URL | |
]; | |
// 创建日志文件 | |
//const logFile = 'visit-log.txt'; | |
// 访问网页并将结果写入日志 | |
async function scrapeAndLog(url) { | |
try { | |
const response = await axios.get(url, {timeout: 3000}); | |
const timestamp = new Date().toISOString(); | |
const logMessage = `${timestamp}: Web visited Successfully ${url}\n`; | |
// 将访问结果写入日志文件 | |
// fs.appendFileSync(logFile, logMessage); | |
console.log(logMessage); | |
} catch (error) { | |
const timestamp = new Date().toISOString(); | |
const errorMessage = `${timestamp}: Web visited Error ${url}: ${error.message}\n`; | |
// 将错误信息写入日志文件 | |
// fs.appendFileSync(logFile, errorMessage); | |
console.error(errorMessage); | |
} | |
} | |
// 使用cron来安排定期任务 | |
cron.schedule('*/1 * * * *', () => { | |
console.log('Running webpage access...'); | |
// 循环访问每个URL | |
urls.forEach((url) => { | |
scrapeAndLog(url); | |
}); | |
}); | |
const server = http.createServer((req, res) => { | |
if (req.url === '/') { | |
const filePath = path.join(__dirname, 'index.html'); | |
fs.readFile(filePath, (err, data) => { | |
if (err) { | |
res.writeHead(500); | |
res.end('Error loading index.html'); | |
} else { | |
res.writeHead(200, { 'Content-Type': 'text/html' }); | |
res.end(data); | |
} | |
}); | |
} else { | |
res.writeHead(404); | |
res.end('Not Found'); | |
} | |
}); | |
server.listen(port, () => { | |
console.log(`Server is running on port ${port}`); | |
}); |