配置文件结构
NekoRay的配置文件通常以nekoray_config.json文件名存储,格式为JSON,配置文件主要包含以下几个部分:
基本设置
{
"general": {
"user_agent": "Mozilla/5. (Windows NT 10.; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91..4472.124 Safari/537.36",
"timeout": 120, // 请求超时时间,单位为秒
"max_retries": 3, // 最大重试次数
"retry_delay": 60, // 重试间隔时间,单位为秒
"max_connections": 10, // 最大并发请求数量
"keep_alive": true, // 是否保持长连接
"proxy": "http://localhost:108", // 代理服务器地址
"no_proxy": ["example.com"], // 不使用代理的域名列表
"check_status_code": true, // 是否检查HTTP状态码
"status_code": [200, 302], // 需要检查的状态码列表
"output_dir": "output", // 输出文件的目录
"log_level": "INFO", // 日志级别
"log_file": "nekoray.log", // 日志文件名
"max_log_size": 1024, // 日志文件最大大小,单位为KB
"log_rotation": true, // 是否启用日志旋转
"console_log": true, // 是否在控制台输出日志
"max_thread": 5, // 最大线程数量
"queue_size": 100, // 请求队列最大大小
"disk_usage": "100M" // 磁盘使用情况检查
}
}
请求头设置
{
"headers": {
"User-Agent": "Mozilla/5. (Windows NT 10.; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91..4472.124 Safari/537.36",
"Accept": "text/html,application/xhtml+xml,application/xml;q=.9,image/webp,image/apng,*/*;q=.8",
"Accept-Language": "en-US,en;q=.9",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
"Referer": "https://example.com/",
"DNT": 1
}
}
项目设置
{
"project": {
"name": "NekoRay Project",
"url": "https://example.com/", // 需要爬取的网站地址
"allowed_domains": ["example.com"], // 允许访问的域名列表
"page_limit": 10, // 每个页面爬取的最大数量
"max_depth": 2, // 爬取的最大深度
"only_multipart": false, // 是否只抓取多部分请求
"only_images": false, // 是否只抓取图片
"only_pdf": false, // 是否只抓取PDF文件
"cache_dir": "cache", // 缓存目录
"ignore_robo_files": true, // 是否忽略机器人文件
"user_pass": "user:pass", // 用户名和密码(如果需要认证)
"auth_type": "Basic", // 认证类型
"verify_ssl": true, // 是否验证SSL证书
"ssl_ca_file": "/path/to/cert.pem", // SSL证书文件路径
"ssl_ciphers": "TLSv1.2, TLSv1.3" // 允许的SSL加密协议
}
}
示例配置文件
{
"general": {
"user_agent": "Mozilla/5. (Windows NT 10.; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91..4472.124 Safari/537.36",
"timeout": 120,
"max_retries": 3,
"retry_delay": 60,
"max_connections": 10,
"keep_alive": true,
"proxy": "http://localhost:108",
"no_proxy": ["example.com"],
"check_status_code": true,
"status_code": [200, 302],
"output_dir": "output",
"log_level": "INFO",
"log_file": "nekoray.log",
"max_log_size": 1024,
"log_rotation": true,
"console_log": true,
"max_thread": 5,
"queue_size": 100,
"disk_usage": "100M"
},
"headers": {
"User-Agent": "Mozilla/5. (Windows NT 10.; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91..4472.124 Safari/537.36",
"Accept": "text/html,application/xhtml+xml,application/xml;q=.9,image/webp,image/apng,*/*;q=.8",
"Accept-Language": "en-US,en;q=.9",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
"Referer": "https://example.com/",
"DNT": 1
},
"project": {
"name": "NekoRay Project",
"url": "https://example.com/",
"allowed_domains": ["example.com"],
"page_limit": 10,
"max_depth": 2,
"only_multipart": false,
"only_images": false,
"only_pdf": false,
"cache_dir": "cache",
"ignore_robo_files": true,
"user_pass": "user:pass",
"auth_type": "Basic",
"verify_ssl": true,
"ssl_ca_file": "/path/to/cert.pem",
"ssl_ciphers": "TLSv1.2, TLSv1.3"
}
}
使用建议
- 合理设置请求间隔:避免被网站服务器封IP或限制访问。
- 使用代理:如果需要匿名化爬取,可以配置代理服务器。
- 设置合理超时:根据网络环境调整
timeout和retry_delay。 - 处理错误和异常:确保爬虫在遇到错误时能够处理重试或异常。
- 定期清理缓存:避免磁盘使用量过大,影响爬虫性能。
通过配置文件,用户可以根据需求灵活调整NekoRay的行为和设置,从而更高效地完成网络爬虫任务。









