package com.example.datacollect.command; import com.example.datacollect.model.Article; import com.example.datacollect.util.UrlValidator; import com.example.datacollect.view.ConsoleView; import java.util.List; /** * 爬取命令(带 URL 验证) */ public class CrawlCommand implements Command { private final ConsoleView view; public CrawlCommand(ConsoleView view) { this.view = view; } @Override public String getName() { return "crawl"; } /** * 获取命令别名 */ public String[] getAliases() { return new String[]{"c"}; } @Override public void execute(String[] args, List
articles) { if (args.length < 2) { view.printError("Usage: crawl 或 c "); return; } String url = args[1]; // URL 格式验证 if (!UrlValidator.isValid(url)) { view.printError("URL 格式错误:" + UrlValidator.getValidationError(url)); view.printInfo("示例:crawl https://www.example.com"); return; } view.printInfo("正在爬取:" + url); // TODO: 实现实际爬取逻辑 } }