package com.example.datacollect.strategy; import com.example.datacollect.exception.ParseException; import com.example.datacollect.model.Article; import org.jsoup.nodes.Document; import java.util.List; public interface CrawlStrategy { /** * 解析文档并提取文章列表 * @param url 原始URL * @param doc Jsoup文档对象 * @return 文章列表 * @throws ParseException 解析失败时抛出 */ List
parse(String url, Document doc) throws ParseException; /** * 判断该策略是否支持指定的URL * @param url 目标URL * @return 是否支持 */ boolean supports(String url); }