package com.yyt.moviecrawler.controller; import com.yyt.moviecrawler.view.ConsoleView; import com.yyt.moviecrawler.util.CrawlerContext; import com.yyt.moviecrawler.model.Movie; import com.yyt.moviecrawler.strategy.CrawlerStrategy; import com.yyt.moviecrawler.strategy.DoubanStrategy; import com.yyt.moviecrawler.strategy.XiaohongshuStrategy; import java.util.List; import java.util.Scanner; public class CrawlerController { private final ConsoleView view; private final CrawlerContext context; public CrawlerController(ConsoleView view, CrawlerContext context) { this.view = view; this.context = context; } public void doCrawl() { try { view.print("===== 开始爬取 ====="); // 1. 豆瓣电影 view.print("正在爬取豆瓣电影..."); context.setStrategy(new DoubanStrategy()); List doubanMovies = context.executeStrategy(20); view.print("豆瓣完成:" + doubanMovies.size() + "条"); // 2. 小红书电影(保留登录逻辑) view.print("正在爬取小红书电影..."); System.out.println("⚠️ 小红书窗口已打开,请登录你的账号!登录完成后按回车继续"); Scanner scanner = new Scanner(System.in); scanner.nextLine(); context.setStrategy(new XiaohongshuStrategy()); List xhsMovies = context.executeStrategy(20); view.print("小红书完成:" + xhsMovies.size() + "条"); view.print("===== 爬取结束 ====="); } catch (Exception e) { e.printStackTrace(); } } }