import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.util.ArrayList; import java.util.List; public class DouyinStrategy implements CrawlStrategy { private static final String URL = "https://www.douyin.com"; @Override public List crawl(int limit) { List list = new ArrayList<>(); try { Document doc = Jsoup.connect(URL) .userAgent("Mozilla/5.0") .timeout(10000) .get(); Elements items = doc.select("div"); int count = 0; for (Element e : items) { if (count >= limit) break; Movie m = parseMovie(e); if (m != null) { list.add(m); count++; } } } catch (Exception ex) { System.out.println("抖音抓取失败(反爬保护),已跳过"); } return list; } @Override public Movie parseMovie(Element element) { try { String title = element.select("h3").first().text(); return new DouyinMovie(title, 2024, 9.5, "视频", "100w+"); } catch (Exception e) { return null; } } }