配置文件示例,nekoray.cfg

NekoRay 的配置文件通常位于项目的根目录下,文件名为 nekoray.cfg 或其他相关名称,以下是一些常见的配置项及其说明:

示例配置文件

# 用户代理
USER_AGENT = "Mozilla/5. (Windows NT 10.; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91..4472.124 Safari/537.36"
# 并发请求数
CONCURRENT_REQUESTS = 2
# 请求超时时间,单位为秒
REQUEST_TIMEOUT = 30
# 指示器保存路径
INDICATOR_FILE = "indicators.csv"
# 日志文件
LOG_FILE = "nekoray.log"
# 下载文件的最大并发数
DOWNLOAD_CONCURRENT = 5
# 禁用重定向
RETRY_ON_REDIRECT = False
# 失败后的重试次数
MAX_RETRIES = 3
# 解析器
PARSER = "html.parser"
#Robots.txt
ROBOTEXCLUSIONLIST = "http://example.com/robots.txt"
# 请求头
HEADERS = {
    'User-Agent': USER_AGENT,
    'Accept-Language': 'en-US,en;q=.9',
    'Accept-Charset': 'UTF-8,*utf-8',
    'Referer': 'http://www.example.com',
    'DNT': '1'
}
# Cookies
COOKIES = {
    'session_id': '123456',
    'auth_token': 'abcdef'
}
# 高级设置
PROXY = {
    'http': 'http://127...1:3128',
    'https': 'http://127...1:3128'
}
# 重写规则
# 使用正则表达式重写URL
@rule(r'^/path/(.+?)/$', replace=r'/\1.html')
def rewrite_url(url):
    return url
# 插件配置
@parser('html')
def parse_page(response):
    # 自定义解析逻辑
    return response.text
# 定时任务
SCHEDULER = {
    'interval': 60,  # 每隔60秒运行一次
    'max_instances': 2
}
# 日志配置
LOG_LEVEL = 'DEBUG'
LOG_FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
LOG_PATH = 'nekoray.log'
# 其他配置
DEFAULT_REQUEST_METHOD = 'GET'
ERROR_ON_HTTPERROR = True
ERROR_ON_HTTPNOTFOUND = True
ERROR_ON_SSL = True

常见配置项解释

  1. USER_AGENT:设置请求头的用户代理信息,避免被网站识别为爬虫。
  2. CONCURRENT_REQUESTS:设置并发请求的数量,提高抓取速度。
  3. REQUEST_TIMEOUT:设置请求的超时时间,避免长时间无响应。
  4. INDICATOR_FILE:设置指示器文件,用于跟踪抓取进度。
  5. LOG_FILE:设置日志文件路径,便于监控抓取过程。
  6. DOWNLOAD_CONCURRENT:设置下载的最大并发数,适用于下载大文件。
  7. RETRY_ON_REDIRECT:设置是否在重定向时进行重试。
  8. MAX_RETRIES:设置最大重试次数,避免无限重试。
  9. PARSER:设置解析器,解析网页内容。
  10. ROBOTEXCLUSIONLIST:设置 robots.txt 文件的路径,避免被网站限制。
  11. HEADERS:设置请求头,模拟浏览器访问。
  12. COOKIES:设置 Cookies,保持登录状态。
  13. PROXY:设置代理服务器,避免被封IP。
  14. @rule:定义 URL 重写规则。
  15. @parser:定义自定义解析逻辑。
  16. SCHEDULER:设置定时任务,自动运行抓取任务。
  17. LOG_LEVEL:设置日志级别,控制日志输出量。
  18. DEFAULT_REQUEST_METHOD:设置默认请求方法,通常为 GET。
  19. ERROR_ON_HTTPERROR:设置 HTTP 错误时的错误处理。
  20. ERROR_ON_HTTPNOTFOUND:设置 404 错误时的错误处理。
  21. ERROR_ON_SSL:设置 SSL/TLS 错误时的错误处理。

注意事项

  • 遵守法律:确保抓取行为符合目标网站的使用政策,避免侵犯隐私或被起诉。
  • 使用代理IP:避免被封IP,尤其是在高并发情况下。
  • 处理Cookies:确保 Cookies 配置正确,尤其是在需要登录的网站上。
  • 处理异常:定义异常处理逻辑,避免抓取失败。
  • 测试配置:在实际运行前,使用工具如curl或Postman测试配置是否正确。
  • 日志监控:定期查看日志,监控抓取进度和错误。

示例使用

from nekoray import *
# 配置文件内容
from nekoray import *
# 读取配置文件
config = {
    'USER_AGENT': 'Mozilla/5. (Windows NT 10.; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91..4472.124 Safari/537.36',
    'CONCURRENT_REQUESTS': 2,
    'REQUEST_TIMEOUT': 30,
    # ... 其他配置
}
# 初始化NekoRay
neko = NekoRay(config)
# 开始抓取
neko.start()

常见问题

  • ImportError:确保所有配置项在项目中正确导入。
  • ModuleNotFoundError:检查安装的库是否正确安装。
  • ConnectionError:检查代理IP和端口是否正确。
  • TimeoutError:调整 REQUEST_TIMEOUT 时间。
  • No content found:检查 URL 是否正确,或者设置允许302 重定向。

希望这些建议能帮助您正确配置NekoRay,顺利完成数据抓取任务!如果还有其他问题,请随时提问。

配置文件示例,nekoray.cfg

扫码添加小飞机VPN网络工具官方微信

扫码添加小飞机VPN网络工具官方微信

400-638-2751
扫码添加小飞机VPN网络工具官方微信

扫码添加小飞机VPN网络工具官方微信

网站地图