From 0d65b6c2504c95f8ef130c08bfb858b720f70c6b Mon Sep 17 00:00:00 2001 From: ZhengShiyi <1980003269@qq.com> Date: Tue, 24 Mar 2026 19:03:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B1=86=E7=93=A3=E7=94=B5=E5=BD=B1=E7=88=AC?= =?UTF-8?q?=E8=99=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- project/DoubanMovieCrawler$Movie.class | Bin 0 -> 1117 bytes project/DoubanMovieCrawler.class | Bin 0 -> 18140 bytes project/DoubanMovieCrawler.java | 554 ++++++ project/country_distribution.png | Bin 0 -> 58075 bytes project/douban_top250.csv | 251 +++ project/douban_top250.json | 251 +++ project/douban_top250.xml | 2253 ++++++++++++++++++++++++ project/genre_distribution.png | Bin 0 -> 30093 bytes project/rating_distribution.png | Bin 0 -> 30167 bytes project/year_rating_correlation.png | Bin 0 -> 37193 bytes 10 files changed, 3309 insertions(+) create mode 100644 project/DoubanMovieCrawler$Movie.class create mode 100644 project/DoubanMovieCrawler.class create mode 100644 project/DoubanMovieCrawler.java create mode 100644 project/country_distribution.png create mode 100644 project/douban_top250.csv create mode 100644 project/douban_top250.json create mode 100644 project/douban_top250.xml create mode 100644 project/genre_distribution.png create mode 100644 project/rating_distribution.png create mode 100644 project/year_rating_correlation.png diff --git a/project/DoubanMovieCrawler$Movie.class b/project/DoubanMovieCrawler$Movie.class new file mode 100644 index 0000000000000000000000000000000000000000..ae3b8319fb4c2e783c3ea2b076e5eb32169956ab GIT binary patch literal 1117 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 Sg;#5{GBUN<+R<7KdH)w+-%v6D literal 0 HcmV?d00001 diff --git a/project/DoubanMovieCrawler.java b/project/DoubanMovieCrawler.java new file mode 100644 index 0000000..0d41689 --- /dev/null +++ b/project/DoubanMovieCrawler.java @@ -0,0 +1,554 @@ +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; + +import org.jfree.chart.ChartFactory; +import org.jfree.chart.ChartUtils; +import org.jfree.chart.JFreeChart; +import org.jfree.chart.plot.PlotOrientation; +import org.jfree.chart.title.TextTitle; +import org.jfree.chart.axis.CategoryAxis; +import org.jfree.chart.axis.NumberAxis; +import org.jfree.chart.axis.ValueAxis; +import org.jfree.chart.plot.CategoryPlot; +import org.jfree.chart.plot.PiePlot; +import org.jfree.chart.plot.XYPlot; +import org.jfree.data.category.DefaultCategoryDataset; +import org.jfree.data.general.DefaultPieDataset; +import org.jfree.data.xy.XYSeries; +import org.jfree.data.xy.XYSeriesCollection; + +import java.awt.Font; +import java.io.*; +import java.util.*; +import java.util.stream.Collectors; + +public class DoubanMovieCrawler { + public static void main(String[] args) { + List movies = new ArrayList<>(); + + // 爬取豆瓣电影Top250的10个页面 + for (int start = 0; start < 250; start += 25) { + String url = "https://movie.douban.com/top250?start=" + start; + try { + // 发送请求并获取页面内容 + Document document = Jsoup.connect(url) + .userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36") + .timeout(10000) + .get(); + + // 解析电影列表 + Elements movieElements = document.select(".grid_view li"); + for (Element movieElement : movieElements) { + // 提取电影名 + String title = movieElement.select(".title").first().text(); + + // 提取评分 + String rating = movieElement.select(".rating_num").first().text(); + + // 提取年份、导演、主演、国家和类型 + String info = movieElement.select(".bd p").first().text(); + + // 解析年份信息 + String year = ""; + java.util.regex.Pattern yearPattern = java.util.regex.Pattern.compile("(\\d{4})"); + java.util.regex.Matcher yearMatcher = yearPattern.matcher(info); + if (yearMatcher.find()) { + year = yearMatcher.group(1); + } + + // 提取导演信息 + String director = ""; + if (info.contains("导演:")) { + int directorIndex = info.indexOf("导演:"); + int actorsIndex = info.indexOf("主演:", directorIndex); + int endIndex = info.indexOf("/", directorIndex); + + // 优先使用主演作为结束点 + if (actorsIndex != -1 && (endIndex == -1 || actorsIndex < endIndex)) { + endIndex = actorsIndex; + } + if (endIndex == -1) { + endIndex = info.length(); + } + director = info.substring(directorIndex + 3, endIndex).trim(); + } + + // 提取主演信息 + String actors = ""; + if (info.contains("主演:")) { + int actorsIndex = info.indexOf("主演:"); + int endIndex = info.indexOf("/", actorsIndex); + if (endIndex == -1) { + endIndex = info.length(); + } + actors = info.substring(actorsIndex + 3, endIndex).trim(); + + // 移除省略号和年份 + // 移除年份(4位数字) + actors = actors.replaceAll("\\s+\\d{4}$", ""); + // 移除省略号 + actors = actors.replaceAll("\\s*\\.\\.\\.", ""); + // 移除多余的空格 + actors = actors.trim(); + } + + // 提取国家和类型信息 + String country = ""; + String genre = ""; + if (info.contains("/")) { + // 找到年份后的第一个斜杠 + int yearEndIndex = info.indexOf(year) + 4; + if (yearEndIndex < info.length()) { + String afterYear = info.substring(yearEndIndex).trim(); + if (afterYear.startsWith("/")) { + afterYear = afterYear.substring(1).trim(); + } + + // 分割国家和类型 + String[] parts = afterYear.split("\\s*/\\s*"); + if (parts.length > 0) { + country = parts[0]; + } + if (parts.length > 1) { + genre = parts[parts.length - 1]; + } + } + } + + // 创建电影对象并添加到列表 + movies.add(new Movie(title, rating, year, director, actors, country, genre)); + } + + // 休眠一下,避免请求过于频繁 + Thread.sleep(1000); + + } catch (IOException | InterruptedException e) { + e.printStackTrace(); + } + } + + // 数据清洗 + List cleanedMovies = cleanData(movies); + + // 保存为不同格式文件 + saveToCSV(cleanedMovies, "douban_top250.csv"); + saveToJSON(cleanedMovies, "douban_top250.json"); + saveToXML(cleanedMovies, "douban_top250.xml"); + + // 数据分析 + analyzeData(cleanedMovies); + + // 结果展示 + displayResults(cleanedMovies); + + // 生成图表 + generateCharts(cleanedMovies); + + System.out.println("爬取完成,共获取" + cleanedMovies.size() + "部电影"); + System.out.println("数据已保存到CSV、JSON和XML文件"); + System.out.println("图表已生成并保存为PNG图片"); + } + + // 数据清洗 + private static List cleanData(List movies) { + return movies.stream() + .map(movie -> { + // 清洗电影名 + String cleanTitle = movie.getTitle().trim(); + // 清洗年份 + String cleanYear = movie.getYear().trim(); + // 清洗导演 + String cleanDirector = movie.getDirector().trim(); + // 清洗主演 + String cleanActors = movie.getActors().trim(); + // 清洗国家 + String cleanCountry = movie.getCountry().trim(); + // 清洗类型 + String cleanGenre = movie.getGenre().trim(); + // 处理缺失值 + if (cleanYear.isEmpty()) cleanYear = "未知"; + if (cleanDirector.isEmpty()) cleanDirector = "未知"; + if (cleanActors.isEmpty()) cleanActors = "未知"; + if (cleanCountry.isEmpty()) cleanCountry = "未知"; + if (cleanGenre.isEmpty()) cleanGenre = "未知"; + return new Movie(cleanTitle, movie.getRating(), cleanYear, cleanDirector, cleanActors, cleanCountry, cleanGenre); + }) + .collect(Collectors.toList()); + } + + // 保存为JSON文件 + private static void saveToJSON(List movies, String filename) { + try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) { + writer.write("["); + for (int i = 0; i < movies.size(); i++) { + Movie movie = movies.get(i); + writer.write("{"); + writer.write(String.format("\"title\":\"%s\",\"rating\":\"%s\",\"year\":\"%s\",\"director\":\"%s\",\"actors\":\"%s\",\"country\":\"%s\",\"genre\":\"%s\"", + escapeJson(movie.getTitle()), + escapeJson(movie.getRating()), + escapeJson(movie.getYear()), + escapeJson(movie.getDirector()), + escapeJson(movie.getActors()), + escapeJson(movie.getCountry()), + escapeJson(movie.getGenre()))); + writer.write("}"); + if (i < movies.size() - 1) { + writer.write(","); + } + writer.newLine(); + } + writer.write("]"); + System.out.println("数据已保存到" + filename); + } catch (IOException e) { + e.printStackTrace(); + } + } + + // 保存为XML文件 + private static void saveToXML(List movies, String filename) { + try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) { + writer.write(""); + writer.newLine(); + writer.write(""); + writer.newLine(); + for (Movie movie : movies) { + writer.write(" "); + writer.newLine(); + writer.write(String.format(" %s", escapeXml(movie.getTitle()))); + writer.newLine(); + writer.write(String.format(" %s", escapeXml(movie.getRating()))); + writer.newLine(); + writer.write(String.format(" %s", escapeXml(movie.getYear()))); + writer.newLine(); + writer.write(String.format(" %s", escapeXml(movie.getDirector()))); + writer.newLine(); + writer.write(String.format(" %s", escapeXml(movie.getActors()))); + writer.newLine(); + writer.write(String.format(" %s", escapeXml(movie.getCountry()))); + writer.newLine(); + writer.write(String.format(" %s", escapeXml(movie.getGenre()))); + writer.newLine(); + writer.write(" "); + writer.newLine(); + } + writer.write(""); + System.out.println("数据已保存到" + filename); + } catch (IOException e) { + e.printStackTrace(); + } + } + + // 数据分析 + private static void analyzeData(List movies) { + System.out.println("\n=== 数据分析结果 ==="); + + // 1. 评分分布 + System.out.println("\n1. 评分分布:"); + Map ratingDistribution = movies.stream() + .collect(Collectors.groupingBy(Movie::getRating, Collectors.counting())); + ratingDistribution.entrySet().stream() + .sorted(Map.Entry.comparingByKey()) + .forEach(entry -> System.out.printf("评分 %s: %d部\n", entry.getKey(), entry.getValue())); + + // 2. 年份与评分相关性 + System.out.println("\n2. 年份与评分统计:"); + Map yearRatingMap = movies.stream() + .collect(Collectors.groupingBy(Movie::getYear, + Collectors.averagingDouble(m -> Double.parseDouble(m.getRating())))); + yearRatingMap.entrySet().stream() + .sorted(Map.Entry.comparingByKey()) + .forEach(entry -> System.out.printf("年份 %s: 平均评分 %.2f\n", entry.getKey(), entry.getValue())); + + // 3. 导演作品数排行 + System.out.println("\n3. 导演作品数排行:"); + Map directorWorksCount = movies.stream() + .collect(Collectors.groupingBy(Movie::getDirector, Collectors.counting())); + directorWorksCount.entrySet().stream() + .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) + .limit(10) + .forEach(entry -> System.out.printf("%s: %d部\n", entry.getKey(), entry.getValue())); + + // 4. 国家/地区分布 + System.out.println("\n4. 国家/地区分布:"); + Map countryDistribution = movies.stream() + .collect(Collectors.groupingBy(Movie::getCountry, Collectors.counting())); + countryDistribution.entrySet().stream() + .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) + .limit(10) + .forEach(entry -> System.out.printf("%s: %d部\n", entry.getKey(), entry.getValue())); + + // 5. 类型分布 + System.out.println("\n5. 类型分布:"); + Map genreDistribution = movies.stream() + .flatMap(movie -> Arrays.stream(movie.getGenre().split("\\s+"))) + .collect(Collectors.groupingBy(genre -> genre, Collectors.counting())); + genreDistribution.entrySet().stream() + .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) + .limit(10) + .forEach(entry -> System.out.printf("%s: %d部\n", entry.getKey(), entry.getValue())); + } + + // 结果展示 + private static void displayResults(List movies) { + System.out.println("\n=== 电影Top10 ==="); + System.out.printf("%-30s %-10s %-10s %-20s %-30s %-20s %-20s\n", + "电影名", "评分", "年份", "导演", "主演", "国家", "类型"); + System.out.println("----------------------------------------------------------------------------------------------------------------------------------------------------------------"); + movies.stream() + .limit(10) + .forEach(movie -> { + System.out.printf("%-30s %-10s %-10s %-20s %-30s %-20s %-20s\n", + truncate(movie.getTitle(), 30), + movie.getRating(), + movie.getYear(), + truncate(movie.getDirector(), 20), + truncate(movie.getActors(), 30), + truncate(movie.getCountry(), 20), + truncate(movie.getGenre(), 20)); + }); + } + + // 辅助方法:截断字符串 + private static String truncate(String str, int maxLength) { + if (str.length() <= maxLength) return str; + return str.substring(0, maxLength - 3) + "..."; + } + + // 辅助方法:转义JSON字符串 + private static String escapeJson(String str) { + return str.replaceAll("\\\"", "\\\\\"") + .replaceAll("\\n", "\\\\n") + .replaceAll("\\r", "\\\\r"); + } + + // 辅助方法:转义XML字符串 + private static String escapeXml(String str) { + return str.replaceAll("&", "&") + .replaceAll("<", "<") + .replaceAll(">", ">") + .replaceAll("'", "'") + .replaceAll("\"", """); + } + + // 生成图表 + private static void generateCharts(List movies) { + try { + // 创建中文字体 + Font chineseFont = new Font("SimHei", Font.PLAIN, 12); + Font titleFont = new Font("SimHei", Font.BOLD, 16); + + // 1. 评分分布柱状图 + DefaultCategoryDataset ratingDataset = new DefaultCategoryDataset(); + Map ratingDistribution = movies.stream() + .collect(Collectors.groupingBy(Movie::getRating, Collectors.counting())); + ratingDistribution.entrySet().stream() + .sorted(Map.Entry.comparingByKey()) + .forEach(entry -> ratingDataset.addValue(entry.getValue(), "电影数量", entry.getKey())); + + JFreeChart ratingChart = ChartFactory.createBarChart( + "豆瓣电影Top250评分分布", + "评分", + "电影数量", + ratingDataset, + PlotOrientation.VERTICAL, + true, + true, + false + ); + // 设置中文字体 + ratingChart.setTitle(new TextTitle("豆瓣电影Top250评分分布", titleFont)); + CategoryPlot ratingPlot = ratingChart.getCategoryPlot(); + CategoryAxis ratingDomainAxis = ratingPlot.getDomainAxis(); + ratingDomainAxis.setLabelFont(chineseFont); + ratingDomainAxis.setTickLabelFont(chineseFont); + NumberAxis ratingRangeAxis = (NumberAxis) ratingPlot.getRangeAxis(); + ratingRangeAxis.setLabelFont(chineseFont); + ratingRangeAxis.setTickLabelFont(chineseFont); + ratingChart.getLegend().setItemFont(chineseFont); + + ChartUtils.saveChartAsPNG(new File("rating_distribution.png"), ratingChart, 800, 600); + System.out.println("评分分布图表已保存: rating_distribution.png"); + + // 2. 国家/地区分布饼图 + DefaultPieDataset countryDataset = new DefaultPieDataset(); + Map countryDistribution = movies.stream() + .collect(Collectors.groupingBy(Movie::getCountry, Collectors.counting())); + countryDistribution.entrySet().stream() + .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) + .limit(10) + .forEach(entry -> countryDataset.setValue(entry.getKey(), entry.getValue())); + + JFreeChart countryChart = ChartFactory.createPieChart( + "豆瓣电影Top250国家/地区分布", + countryDataset, + true, + true, + false + ); + // 设置中文字体 + countryChart.setTitle(new TextTitle("豆瓣电影Top250国家/地区分布", titleFont)); + PiePlot countryPlot = (PiePlot) countryChart.getPlot(); + countryPlot.setLabelFont(chineseFont); + countryChart.getLegend().setItemFont(chineseFont); + + ChartUtils.saveChartAsPNG(new File("country_distribution.png"), countryChart, 800, 600); + System.out.println("国家分布图表已保存: country_distribution.png"); + + // 3. 年份与评分相关性折线图 + XYSeries yearRatingSeries = new XYSeries("平均评分"); + Map yearRatingMap = movies.stream() + .collect(Collectors.groupingBy(Movie::getYear, + Collectors.averagingDouble(m -> Double.parseDouble(m.getRating())))); + yearRatingMap.entrySet().stream() + .filter(entry -> !entry.getKey().equals("未知")) + .sorted(Map.Entry.comparingByKey()) + .forEach(entry -> { + try { + int year = Integer.parseInt(entry.getKey()); + yearRatingSeries.add(year, entry.getValue()); + } catch (NumberFormatException e) { + // 跳过非数字年份 + } + }); + + XYSeriesCollection yearRatingDataset = new XYSeriesCollection(yearRatingSeries); + JFreeChart yearRatingChart = ChartFactory.createXYLineChart( + "豆瓣电影Top250年份与评分相关性", + "年份", + "平均评分", + yearRatingDataset, + PlotOrientation.VERTICAL, + true, + true, + false + ); + // 设置中文字体 + yearRatingChart.setTitle(new TextTitle("豆瓣电影Top250年份与评分相关性", titleFont)); + XYPlot yearPlot = yearRatingChart.getXYPlot(); + ValueAxis yearDomainAxis = yearPlot.getDomainAxis(); + yearDomainAxis.setLabelFont(chineseFont); + yearDomainAxis.setTickLabelFont(chineseFont); + ValueAxis yearRangeAxis = yearPlot.getRangeAxis(); + yearRangeAxis.setLabelFont(chineseFont); + yearRangeAxis.setTickLabelFont(chineseFont); + yearRatingChart.getLegend().setItemFont(chineseFont); + + ChartUtils.saveChartAsPNG(new File("year_rating_correlation.png"), yearRatingChart, 800, 600); + System.out.println("年份评分相关性图表已保存: year_rating_correlation.png"); + + // 4. 类型分布柱状图 + DefaultCategoryDataset genreDataset = new DefaultCategoryDataset(); + Map genreDistribution = movies.stream() + .flatMap(movie -> Arrays.stream(movie.getGenre().split("\\s+"))) + .collect(Collectors.groupingBy(genre -> genre, Collectors.counting())); + genreDistribution.entrySet().stream() + .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) + .limit(10) + .forEach(entry -> genreDataset.addValue(entry.getValue(), "电影数量", entry.getKey())); + + JFreeChart genreChart = ChartFactory.createBarChart( + "豆瓣电影Top250类型分布", + "类型", + "电影数量", + genreDataset, + PlotOrientation.VERTICAL, + true, + true, + false + ); + // 设置中文字体 + genreChart.setTitle(new TextTitle("豆瓣电影Top250类型分布", titleFont)); + CategoryPlot genrePlot = genreChart.getCategoryPlot(); + CategoryAxis genreDomainAxis = genrePlot.getDomainAxis(); + genreDomainAxis.setLabelFont(chineseFont); + genreDomainAxis.setTickLabelFont(chineseFont); + NumberAxis genreRangeAxis = (NumberAxis) genrePlot.getRangeAxis(); + genreRangeAxis.setLabelFont(chineseFont); + genreRangeAxis.setTickLabelFont(chineseFont); + genreChart.getLegend().setItemFont(chineseFont); + + ChartUtils.saveChartAsPNG(new File("genre_distribution.png"), genreChart, 800, 600); + System.out.println("类型分布图表已保存: genre_distribution.png"); + + } catch (IOException e) { + System.err.println("生成图表时出错: " + e.getMessage()); + e.printStackTrace(); + } + } + + private static void saveToCSV(List movies, String filename) { + try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) { + // 写入CSV表头 + writer.write("电影名,评分,年份,导演,主演,国家,类型"); + writer.newLine(); + + // 写入电影数据 + for (Movie movie : movies) { + writer.write(String.format("%s,%s,%s,%s,%s,%s,%s", + movie.getTitle(), + movie.getRating(), + movie.getYear(), + movie.getDirector(), + movie.getActors(), + movie.getCountry(), + movie.getGenre())); + writer.newLine(); + } + + System.out.println("数据已保存到" + filename); + } catch (IOException e) { + e.printStackTrace(); + } + } + + // 电影类 + static class Movie { + private String title; + private String rating; + private String year; + private String director; + private String actors; + private String country; + private String genre; + + public Movie(String title, String rating, String year, String director, String actors, String country, String genre) { + this.title = title; + this.rating = rating; + this.year = year; + this.director = director; + this.actors = actors; + this.country = country; + this.genre = genre; + } + + public String getTitle() { + return title; + } + + public String getRating() { + return rating; + } + + public String getYear() { + return year; + } + + public String getDirector() { + return director; + } + + public String getActors() { + return actors; + } + + public String getCountry() { + return country; + } + + public String getGenre() { + return genre; + } + } +} \ No newline at end of file diff --git a/project/country_distribution.png b/project/country_distribution.png new file mode 100644 index 0000000000000000000000000000000000000000..b7cbb600d859618f7c0ab2ceee39112be0195250 GIT binary patch literal 58075 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 + + + 肖申克的救赎 + 9.7 + 1994 + 弗兰克·德拉邦特 Frank Darabont + 蒂姆·罗宾斯 Tim Robbins + 美国 + 犯罪 剧情 + + + 霸王别姬 + 9.6 + 1993 + 陈凯歌 Kaige Chen + 张国荣 Leslie Cheung + 中国大陆 中国香港 + 剧情 爱情 同性 + + + 泰坦尼克号 + 9.5 + 1997 + 詹姆斯·卡梅隆 James Cameron + 莱昂纳多·迪卡普里奥 Leonardo + 美国 + 剧情 爱情 灾难 + + + 阿甘正传 + 9.5 + 1994 + 罗伯特·泽米吉斯 Robert Zemeckis + 汤姆·汉克斯 Tom Hanks + 美国 + 剧情 爱情 + + + 千与千寻 + 9.4 + 2001 + 宫崎骏 Hayao Miyazaki + 柊瑠美 Rumi Hîragi + 日本 + 剧情 动画 奇幻 + + + 美丽人生 + 9.5 + 1997 + 罗伯托·贝尼尼 Roberto Benigni + 罗伯托·贝尼尼 Roberto Beni + 意大利 + 剧情 喜剧 爱情 战争 + + + 星际穿越 + 9.4 + 2014 + 克里斯托弗·诺兰 Christopher Nolan + 马修·麦康纳 Matthew Mc + 美国 英国 加拿大 + 剧情 科幻 冒险 + + + 这个杀手不太冷 + 9.4 + 1994 + 吕克·贝松 Luc Besson + 让·雷诺 Jean Reno + 法国 美国 + 剧情 动作 犯罪 + + + 盗梦空间 + 9.4 + 2010 + 克里斯托弗·诺兰 Christopher Nolan + 莱昂纳多·迪卡普里奥 Le + 美国 英国 + 剧情 科幻 悬疑 冒险 + + + 楚门的世界 + 9.4 + 1998 + 彼得·威尔 Peter Weir + 金·凯瑞 Jim Carrey + 美国 + 剧情 科幻 + + + 辛德勒的名单 + 9.5 + 1993 + 史蒂文·斯皮尔伯格 Steven Spielberg + 连姆·尼森 Liam Neeson + 美国 + 剧情 历史 战争 + + + 忠犬八公的故事 + 9.4 + 2009 + 莱塞·霍尔斯道姆 Lasse Hallström + 理查·基尔 Richard Ger + 美国 英国 + 剧情 + + + 海上钢琴师 + 9.3 + 1998 + 朱塞佩·托纳多雷 Giuseppe Tornatore + 蒂姆·罗斯 Tim Roth + 意大利 + 剧情 音乐 + + + 疯狂动物城 + 9.3 + 2016 + 拜伦·霍华德 Byron Howard + 金妮弗· + 美国 + 喜剧 动画 冒险 + + + 三傻大闹宝莱坞 + 9.2 + 2009 + 拉库马·希拉尼 Rajkumar Hirani + 阿米尔·汗 Aamir Khan + 印度 + 剧情 喜剧 爱情 歌舞 + + + 机器人总动员 + 9.3 + 2008 + 安德鲁·斯坦顿 Andrew Stanton + 本·贝尔特 Ben Burtt + 美国 + 科幻 动画 冒险 + + + 放牛班的春天 + 9.3 + 2004 + 克里斯托夫·巴拉蒂 Christophe Barratier + 让-巴蒂斯特·莫尼 + 法国 瑞士 德国 + 剧情 音乐 + + + 无间道 + 9.3 + 2002 + 刘伟强 + 刘德华 Andy Lau + 中国香港 + 剧情 犯罪 惊悚 + + + 控方证人 + 9.6 + 1957 + 比利·怀尔德 Billy Wilder + 泰隆·鲍华 Tyrone Power + 美国 + 剧情 犯罪 悬疑 惊悚 + + + 寻梦环游记 + 9.1 + 2017 + 李·昂克里奇 Lee Unkrich + 未知 + 美国 + 喜剧 动画 奇幻 音乐 + + + 大话西游之大圣娶亲 + 9.2 + 1995 + 刘镇伟 Jeffrey Lau + 周星驰 Stephen Chow + 中国香港 中国大陆 + 喜剧 爱情 奇幻 古装 + + + 熔炉 + 9.3 + 2011 + 黄东赫 Dong-hyuk Hwang + 孔侑 Yoo Gong + 韩国 + 剧情 + + + 触不可及 + 9.3 + 2011 + 奥利维·那卡什 Olivier Nakache + 未知 + 法国 + 剧情 喜剧 + + + 教父 + 9.3 + 1972 + 弗朗西斯·福特·科波拉 Francis Ford Coppola + 马龙·白兰度 M + 美国 + 剧情 犯罪 + + + 末代皇帝 + 9.3 + 1987 + 贝纳尔多·贝托鲁奇 Bernardo Bertolucci + 尊龙 John Lone + 英国 意大利 中国大陆 法国 + 剧情 传记 历史 + + + 哈利·波特与魔法石 + 9.2 + 2001 + Chris Columbus + Daniel Radcliffe + 美国 英国 + 奇幻 冒险 + + + 当幸福来敲门 + 9.1 + 2006 + 加布里尔·穆奇诺 Gabriele Muccino + 威尔·史密斯 Will Smith + 美国 + 剧情 传记 家庭 + + + 龙猫 + 9.2 + 1988 + 宫崎骏 Hayao Miyazaki + 日高法子 Noriko Hidaka + 日本 + 动画 奇幻 冒险 + + + 活着 + 9.3 + 1994 + 张艺谋 Yimou Zhang + 葛优 You Ge + 中国大陆 中国香港 + 剧情 历史 家庭 + + + 怦然心动 + 9.1 + 2010 + 罗伯·莱纳 Rob Reiner + 玛德琳·卡罗尔 Madeline Carroll + 美国 + 剧情 喜剧 爱情 + + + 蝙蝠侠:黑暗骑士 + 9.2 + 2008 + 克里斯托弗·诺兰 Christopher Nolan + 克里斯蒂安·贝尔 Christ + 美国 英国 + 剧情 动作 科幻 犯罪 惊悚 + + + 指环王3:王者无敌 + 9.3 + 2003 + 彼得·杰克逊 Peter Jackson + 伊利亚·伍德 Elijah Wood + 美国 新西兰 + 剧情 动作 奇幻 冒险 + + + 我不是药神 + 9.0 + 2018 + 文牧野 Muye Wen + 徐峥 Zheng Xu + 中国大陆 + 剧情 喜剧 + + + 乱世佳人 + 9.3 + 1939 + 维克多·弗莱明 Victor Fleming + + 美国 + 剧情 历史 爱情 战争 + + + 飞屋环游记 + 9.1 + 2009 + 彼特·道格特 Pete Docter + 爱德 + 美国 + 剧情 喜剧 动画 冒险 + + + 让子弹飞 + 9.0 + 2010 + 姜文 Wen Jiang + 姜文 Wen Jiang + 中国大陆 中国香港 + 剧情 喜剧 动作 西部 + + + 哈尔的移动城堡 + 9.1 + 2004 + 宫崎骏 Hayao Miyazaki + 倍赏千惠子 Chieko Baishô + 日本 + 爱情 动画 奇幻 冒险 + + + 十二怒汉 + 9.4 + 1957 + 西德尼·吕美特 Sidney Lumet + 亨利·方达 Henry Fonda + 美国 + 剧情 + + + 海蒂和爷爷 + 9.3 + 2015 + 阿兰·葛斯彭纳 Alain Gsponer + 阿努克·斯特芬 Anuk Steffen + 德国 瑞士 + 剧情 冒险 家庭 + + + 素媛 + 9.3 + 2013 + 李濬益 Jun-ik Lee + 薛景求 Kyung-gu Sol + 韩国 + 剧情 + + + 猫鼠游戏 + 9.1 + 2002 + 史蒂文·斯皮尔伯格 Steven Spielberg + 莱昂纳多·迪卡普里奥 L + 美国 加拿大 + 传记 犯罪 剧情 + + + 天空之城 + 9.2 + 1986 + 宫崎骏 Hayao Miyazaki + 田中真弓 Mayumi Tanaka + 日本 + 动画 奇幻 冒险 + + + 鬼子来了 + 9.3 + 2000 + 姜文 Wen Jiang + 姜文 Wen Jiang + 中国大陆 + 剧情 喜剧 + + + 摔跤吧!爸爸 + 9.0 + 2016 + 涅提·蒂瓦里 Nitesh Tiwari + 阿米尔·汗 Aamir Khan + 印度 + 剧情 传记 运动 家庭 + + + 少年派的奇幻漂流 + 9.1 + 2012 + 李安 Ang Lee + 苏拉·沙玛 Suraj Sharma + 美国 中国台湾 英国 加拿大 + 剧情 奇幻 冒险 + + + 钢琴家 + 9.3 + 2002 + 罗曼·波兰斯基 Roman Polanski + 艾德里安·布洛迪 Adrien Brod + 英国 法国 波兰 德国 美国 + 剧情 传记 战争 音乐 + + + 指环王2:双塔奇兵 + 9.2 + 2002 + 彼得·杰克逊 Peter Jackson + 伊利亚·伍德 Elijah Wood + 美国 新西兰 + 剧情 动作 奇幻 冒险 + + + 死亡诗社 + 9.2 + 1989 + 彼得·威尔 Peter Weir + 罗宾·威廉姆斯 Robin Williams + 美国 + 剧情 + + + 大话西游之月光宝盒 + 9.0 + 1995 + 刘镇伟 Jeffrey Lau + 周星驰 Stephen Chow + 中国香港 中国大陆 + 喜剧 爱情 奇幻 古装 + + + 绿皮书 + 8.9 + 2018 + 彼得·法雷里 Peter Farrelly + 维果·莫腾森 Viggo Mortensen + 美国 中国大陆 + 剧情 喜剧 传记 音乐 + + + 何以为家 + 9.1 + 2018 + 娜丁·拉巴基 Nadine Labaki + 扎因·拉费阿 Zain al-Rafeea + 黎巴嫩 美国 法国 塞浦路斯 卡塔尔 英国 + 剧情 + + + 闻香识女人 + 9.1 + 1992 + 马丁·布莱斯 Martin Brest + 阿尔·帕西诺 Al Pacino + 美国 + 剧情 + + + 大闹天宫 + 9.4 + 1961 + 万籁鸣 Laiming Wan + 邱岳峰 Yuefeng Qiu + (中国大陆) + 剧情 动画 奇幻 古装 + + + 黑客帝国 + 9.1 + 1999 + 安迪·沃卓斯基 Andy Wachowski + 未知 + 美国 + 动作 科幻 + + + 指环王1:护戒使者 + 9.1 + 2001 + 彼得·杰克逊 Peter Jackson + 伊利亚·伍德 Elijah Wood + 新西兰 美国 英国 + 剧情 动作 奇幻 冒险 + + + 罗马假日 + 9.1 + 1953 + 威廉·惠勒 William Wyler + 奥黛丽·赫本 Audrey Hepburn + 美国 + 喜剧 剧情 爱情 + + + 教父2 + 9.3 + 1974 + 弗朗西斯·福特·科波拉 Francis Ford Coppola + 阿尔·帕西诺 A + 美国 + 剧情 犯罪 + + + 狮子王 + 9.1 + 1994 + Roger Allers + 乔纳森·泰勒·托马 + 美国 + 动画 冒险 歌舞 + + + 天堂电影院 + 9.2 + 1988 + 朱塞佩·托纳多雷 Giuseppe Tornatore + 菲利普·努瓦雷 Philipp + 意大利 法国 + 剧情 爱情 + + + 饮食男女 + 9.2 + 1994 + 李安 Ang Lee + 郎雄 Sihung Lung + 中国台湾 美国 + 剧情 家庭 + + + 辩护人 + 9.2 + 2013 + 杨宇硕 Woo-seok Yang + 宋康昊 Kang-ho Song + 韩国 + 剧情 + + + 本杰明·巴顿奇事 + 9.0 + 2008 + 大卫·芬奇 David Fincher + 布拉德·皮特 Brad Pitt + 美国 + 剧情 爱情 奇幻 + + + 搏击俱乐部 + 9.0 + 1999 + 大卫·芬奇 David Fincher + 爱德华·诺顿 Edward Norton + 美国 + 剧情 动作 悬疑 惊悚 + + + 美丽心灵 + 9.1 + 2001 + 朗·霍华德 Ron Howard + 罗素·克劳 Russell Crowe + 美国 + 传记 剧情 + + + 穿条纹睡衣的男孩 + 9.2 + 2008 + 马克·赫尔曼 Mark Herman + 阿萨·巴特菲尔德 Asa Butterfield + 英国 美国 + 剧情 战争 + + + 情书 + 8.9 + 1995 + 岩井俊二 Shunji Iwai + 中山美穗 Miho Nakayama + 日本 + 剧情 爱情 + + + 哈利·波特与死亡圣器(下) + 9.0 + 2011 + 大卫·叶茨 David Yates + 丹尼尔·雷德克里夫 Daniel Radcliffe + 美国 英国 + 奇幻 冒险 + + + 两杆大烟枪 + 9.1 + 1998 + 盖·里奇 Guy Ritchie + 杰森·弗莱明 Jason Flemyng + 英国 + 剧情 喜剧 犯罪 + + + 窃听风暴 + 9.2 + 2006 + 弗洛里安·亨克尔·冯·多纳斯马尔克 Florian Henckel von Donnersmarck &n... 2006 + 未知 + 德国 + 剧情 悬疑 + + + 音乐之声 + 9.1 + 1965 + 罗伯特·怀斯 Robert Wise + 朱莉·安德鲁斯 Julie Andrews + 美国 + 剧情 传记 爱情 歌舞 + + + 功夫 + 8.9 + 2004 + 周星驰 Stephen Chow + 周星驰 Stephen Chow + 中国大陆 中国香港 + 动作 喜剧 犯罪 奇幻 + + + 哈利·波特与阿兹卡班的囚徒 + 9.0 + 2004 + 阿方索·卡隆 Alfonso Cuarón + 丹尼尔·雷德克里夫 Daniel Rad + 英国 美国 + 奇幻 冒险 + + + 西西里的美丽传说 + 8.9 + 2000 + 朱塞佩·托纳多雷 Giuseppe Tornatore + 莫妮卡·贝鲁奇 Monica + 意大利 美国 + 剧情 战争 情色 + + + 阿凡达 + 8.8 + 2009 + 詹姆斯·卡梅隆 James Cameron + 萨姆·沃辛顿 Sam Worthington + 美国 + 动作 科幻 冒险 + + + 看不见的客人 + 8.8 + 2016 + 奥里奥尔·保罗 Oriol Paulo + 马里奥·卡萨斯 Mario Casas + 西班牙 + 剧情 犯罪 悬疑 惊悚 + + + 拯救大兵瑞恩 + 9.1 + 1998 + 史蒂文·斯皮尔伯格 Steven Spielberg + 汤姆·汉克斯 Tom Hanks + 美国 + 剧情 战争 + + + 沉默的羔羊 + 8.9 + 1991 + 乔纳森·戴米 Jonathan Demme + 朱迪·福斯特 Jodie Foster + 美国 + 剧情 犯罪 惊悚 + + + 小鞋子 + 9.2 + 1997 + 马基德·马基迪 Majid Majidi + 默罕默德·阿米尔·纳吉 Mohamma + 伊朗 + 剧情 儿童 家庭 + + + 布达佩斯大饭店 + 8.9 + 2014 + 韦斯·安德森 Wes Anderson + 拉尔夫·费因斯 Ralph Fiennes + 美国 德国 英国 + 剧情 喜剧 冒险 + + + 蝴蝶效应 + 8.9 + 2004 + 埃里克·布雷斯 Eric Bress + 未知 + 美国 加拿大 + 剧情 悬疑 科幻 惊悚 + + + 飞越疯人院 + 9.1 + 1975 + 米洛斯·福尔曼 Miloš Forman + 杰克·尼科尔森 Jack Nichols + 美国 + 剧情 + + + 禁闭岛 + 8.9 + 2010 + Martin Scorsese + 莱昂纳多·迪卡普里奥 Leonardo DiCaprio + 美国 + 剧情 悬疑 惊悚 + + + 还有明天 + 9.3 + 2023 + 宝拉·柯特莱西 Paola Cortellesi + 宝拉·柯特莱西 Paola Corte + 意大利 + 剧情 喜剧 历史 + + + 心灵捕手 + 9.0 + 1997 + 格斯·范·桑特 Gus Van Sant + 马特·达蒙 Matt Damon + 美国 + 剧情 + + + 致命魔术 + 8.9 + 2006 + 克里斯托弗·诺兰 Christopher Nolan + 休·杰克曼 Hugh Jackman + 英国 美国 + 剧情 悬疑 惊悚 + + + 低俗小说 + 8.9 + 1994 + 昆汀·塔伦蒂诺 Quentin Tarantino + 约翰·特拉沃尔塔 John Tra + 美国 + 剧情 喜剧 犯罪 + + + 超脱 + 9.0 + 2011 + 托尼·凯耶 Tony Kaye + 艾德里安·布洛迪 Adrien Brody + 美国 + 剧情 + + + 哈利·波特与密室 + 8.9 + 2002 + Chris Columbus + 丹尼尔·雷德克里夫 Daniel Radcliffe + 英国 美国 + 奇幻 冒险 + + + 一一 + 9.1 + 2000 + 杨德昌 Edward Yang + 吴念真 + 中国台湾 日本 + 剧情 爱情 家庭 + + + 喜剧之王 + 8.8 + 1999 + 周星驰 Stephen Chow + 周星驰 Stephen Ch + 中国香港 + 喜剧 剧情 爱情 + + + 摩登时代 + 9.3 + 1936 + 查理·卓别林 Charles Chaplin + 查理·卓别林 Charles Chaplin + 美国 + 剧情 喜剧 爱情 + + + 杀人回忆 + 8.9 + 2003 + 奉俊昊 Joon-ho Bong + 宋康昊 Kang-ho Song + 韩国 + 剧情 动作 犯罪 悬疑 惊悚 + + + 致命ID + 8.9 + 2003 + 詹姆斯·曼高德 James Mangold + 约翰·库萨克 John Cusack + 美国 + 剧情 悬疑 惊悚 + + + 春光乍泄 + 9.0 + 1997 + 王家卫 Kar Wai Wong + 张国荣 Leslie Cheung + 中国香港 日本 韩国 + 剧情 爱情 同性 + + + 加勒比海盗 + 8.8 + 2003 + 戈尔·维宾斯基 Gore Verbinski + 约翰尼·德普 Johnny Depp + 美国 + 动作 冒险 奇幻 + + + 海豚湾 + 9.3 + 2009 + 路易·西霍尤斯 Louie Psihoyos + 路易·西霍尤斯 Louie Psihoyo + 美国 + 纪录片 + + + 美国往事 + 9.1 + 1984 + 赛尔乔·莱翁内 Sergio Leone + 罗伯特·德尼罗 Robert De Niro + 美国 意大利 + 犯罪 剧情 + + + 红辣椒 + 9.0 + 2006 + 今敏 Satoshi Kon + 林原惠美 Megumi Hayashibara + 日本 + 动画 悬疑 科幻 惊悚 + + + 七宗罪 + 8.8 + 1995 + 大卫·芬奇 David Fincher + 摩根·弗里曼 Morgan Freeman + 美国 + 剧情 犯罪 悬疑 惊悚 + + + 唐伯虎点秋香 + 8.8 + 1993 + 李力持 Lik-Chi Lee + 周星驰 Stephen Chow + 中国香港 + 喜剧 爱情 古装 + + + 狩猎 + 9.1 + 2012 + 托马斯·温特伯格 Thomas Vinterberg + 麦斯·米科尔森 Mads Mik + 丹麦 瑞典 + 剧情 + + + 幽灵公主 + 8.9 + 1997 + 宫崎骏 Hayao Miyazaki + 松田洋治 Yôji Matsuda + 日本 + 动画 奇幻 冒险 + + + 甜蜜蜜 + 8.9 + 1996 + 陈可辛 Peter Chan + 黎明 Leon Lai + 中国香港 + 剧情 爱情 + + + 寄生虫 + 8.8 + 2019 + 奉俊昊 Joon-ho Bong + 宋康昊 Kang-ho Song + 韩国 + 剧情 + + + 天书奇谭 + 9.2 + 1983 + 王树忱 Shuchen Wang + 丁建华 Jianhua Din 1983(中国大陆) + (中国大陆) + 动画 奇幻 + + + 蝙蝠侠:黑暗骑士崛起 + 8.9 + 2012 + 克里斯托弗·诺兰 Christopher Nolan + 克里斯蒂安·贝尔 Christ + 美国 英国 + 剧情 动作 科幻 犯罪 惊悚 + + + 超能陆战队 + 8.8 + 2014 + 唐·霍尔 Don Hall + 斯科特 + 美国 + 喜剧 动作 科幻 动画 冒险 + + + 7号房的礼物 + 8.9 + 2013 + 李焕庆 Hwan-kyeong Lee + 柳承龙 Seung-yong Ryoo + 韩国 + 剧情 喜剧 家庭 + + + 第六感 + 8.9 + 1999 + M·奈特·沙马兰 M. Night Shyamalan + 布鲁斯·威利斯 Bruce Wi + 美国 + 剧情 悬疑 惊悚 + + + 茶馆 + 9.5 + 1982 + 谢添 Tian Xie + 于是之 Shizhi Yu + (中国大陆) + 剧情 历史 + + + 爱在黎明破晓前 + 8.8 + 1995 + 理查德·林克莱特 Richard Linklater + 伊桑·霍克 Ethan Hawke + 美国 奥地利 瑞士 + 剧情 爱情 + + + 爱在日落黄昏时 + 8.9 + 2004 + 理查德·林克莱特 Richard Linklater + 伊桑·霍克 Ethan Hawke + 美国 法国 + 剧情 爱情 + + + 被嫌弃的松子的一生 + 8.8 + 2006 + 中岛哲也 Tetsuya Nakashima + 中谷美纪 Miki Nakatani + 日本 + 剧情 歌舞 + + + 哈利·波特与火焰杯 + 8.8 + 2005 + 迈克·内威尔 Mike Newell + 丹尼尔·雷德克里夫 Daniel Radclif + 英国 美国 + 悬疑 奇幻 冒险 + + + 头脑特工队 + 8.8 + 2015 + 彼特·道格特 Pete Docter + 未知 + 美国 + 喜剧 动画 冒险 + + + 未麻的部屋 + 9.1 + 1997 + 今敏 Satoshi Kon + 岩男润子 Junko Iwao + 日本 + 剧情 犯罪 动画 悬疑 惊悚 + + + 重庆森林 + 8.8 + 1994 + 王家卫 Kar Wai Wong + 林青霞 Brigitte Lin + 中国香港 + 剧情 爱情 + + + 借东西的小人阿莉埃蒂 + 8.9 + 2010 + 米林宏昌 Hiromasa Yonebayashi + 志田未来 Mirai Shida + 日本 + 动画 奇幻 冒险 + + + 菊次郎的夏天 + 8.9 + 1999 + 北野武 Takeshi Kitano + 北野武 Takeshi Kitano + 日本 + 剧情 喜剧 + + + 入殓师 + 8.9 + 2008 + 泷田洋二郎 Yôjirô Takita + 本木雅弘 Masahiro Motoki + 日本 + 剧情 + + + 断背山 + 8.8 + 2005 + 李安 Ang Lee + 希斯·莱杰 Heath Ledger + 美国 加拿大 + 剧情 爱情 同性 家庭 + + + 剪刀手爱德华 + 8.7 + 1990 + 蒂姆·波顿 Tim Burton + 约翰尼·德普 Johnny Depp + 美国 + 剧情 爱情 奇幻 + + + 勇敢的心 + 8.9 + 1995 + 梅尔·吉布森 Mel Gibson + 梅尔·吉布森 Mel Gibson + 美国 + 动作 传记 剧情 历史 战争 + + + 时空恋旅人 + 8.8 + 2013 + 理查德·柯蒂斯 Richard Curtis + 多姆纳尔·格里森 Domhnall Gl + 英国 美国 + 喜剧 爱情 奇幻 + + + 驯龙高手 + 8.8 + 2010 + 迪恩·德布洛斯 Dean DeBlois + 未知 + 美国 + 动画 奇幻 冒险 + + + 消失的爱人 + 8.7 + 2014 + 大卫·芬奇 David Fincher + 本·阿弗莱克 Ben Affleck + 美国 + 剧情 犯罪 悬疑 惊悚 + + + 无人知晓 + 9.1 + 2004 + 是枝裕和 Hirokazu Koreeda + 柳乐优弥 Yûya Yagira + 日本 + 剧情 + + + 倩女幽魂 + 8.8 + 1987 + 程小东 Siu-Tung Ching + 张国荣 Leslie Cheung + 中国香港 + 爱情 奇幻 武侠 古装 + + + 傲慢与偏见 + 8.7 + 2005 + 乔·怀特 Joe Wright + 凯拉·奈特莉 Keira Knightley + 法国 英国 美国 + 剧情 爱情 + + + 新世界 + 8.9 + 2013 + 朴勋政 Hoon-jung Park + 李政宰 Jung-Jae Lee + 韩国 + 剧情 犯罪 + + + 花样年华 + 8.8 + 2000 + 王家卫 Kar Wai Wong + 张曼玉 Maggie Cheung + 中国香港 + 剧情 爱情 + + + 玩具总动员3 + 8.9 + 2010 + 李·昂克里奇 Lee Unkrich + 汤姆·汉克斯 Tom Hanks + 美国 + 喜剧 动画 奇幻 冒险 + + + 一个叫欧维的男人决定去死 + 8.9 + 2015 + 汉内斯·赫尔姆 Hannes Holm + 罗夫·拉斯加德 Rolf Lassgård + 瑞典 + 剧情 + + + 完美的世界 + 9.1 + 1993 + 克林特·伊斯特伍德 Clint Eastwood + 凯文·科斯特纳 Kevin Cos + 美国 + 剧情 犯罪 + + + 色,戒 + 8.7 + 2007 + 李安 Ang Lee + 梁朝伟 Tony Leung Chiu Wai + 中国台湾 中国大陆 美国 中国香港 + 剧情 爱情 情色 + + + 阳光灿烂的日子 + 8.8 + 1994 + 姜文 Wen Jiang + 夏雨 Yu Xia + 中国大陆 中国香港 + 剧情 爱情 + + + 怪兽电力公司 + 8.8 + 2001 + 彼特·道格特 Pete Docter + + 美国 + 儿童 喜剧 动画 奇幻 冒险 + + + 小森林 夏秋篇 + 9.0 + 2014 + 森淳一 Junichi Mori + 桥本爱 Ai Hashimoto + 日本 + 剧情 + + + 天使爱美丽 + 8.7 + 2001 + 让-皮埃尔·热内 Jean-Pierre Jeunet + 奥黛丽·塔图 Audrey Tau + 法国 德国 + 剧情 喜剧 爱情 + + + 教父3 + 9.0 + 1990 + 弗朗西斯·福特·科波拉 Francis Ford Coppola + 阿尔·帕西诺 A + 美国 + 剧情 犯罪 + + + 侧耳倾听 + 8.9 + 1995 + 近藤喜文 Yoshifumi Kondo + 本名阳子 Youko Honna + 日本 + 剧情 爱情 动画 + + + 哪吒闹海 + 9.2 + 1979 + 王树忱 Shuchen Wang + 梁正晖 Zhenghui + 中国大陆 + 冒险 动画 奇幻 + + + 九品芝麻官 + 8.8 + 1994 + 王晶 Jing Wong + 周星驰 Stephen Chow + 中国香港 + 剧情 喜剧 古装 + + + 被解救的姜戈 + 8.8 + 2012 + 昆汀·塔伦蒂诺 Quentin Tarantino + 杰米·福克斯 Jamie Foxx + 美国 + 剧情 动作 西部 冒险 + + + 请以你的名字呼唤我 + 8.8 + 2017 + 卢卡·瓜达尼诺 Luca Guadagnino + 艾米·汉莫 Armie Hammer + 意大利 法国 巴西 美国 + 剧情 爱情 同性 + + + 幸福终点站 + 8.8 + 2004 + 史蒂文·斯皮尔伯格 Steven Spielberg + 汤姆·汉克斯 Tom Hanks + 美国 + 喜剧 剧情 爱情 + + + 釜山行 + 8.6 + 2016 + 延尚昊 Sang-ho Yeon + 孔刘 Yoo Gong + 韩国 + 动作 惊悚 灾难 + + + 神偷奶爸 + 8.7 + 2010 + 皮艾尔·柯芬 Pierre Coffin + 未知 + 美国 法国 + 喜剧 动画 冒险 + + + 小森林 冬春篇 + 9.0 + 2015 + 森淳一 Junichi Mori + 桥本爱 Ai Hashimoto + 日本 + 剧情 + + + 喜宴 + 9.0 + 1993 + 李安 Ang Lee + 赵文瑄 Winston Chao + 中国台湾 美国 + 剧情 喜剧 爱情 同性 家庭 + + + 萤火之森 + 8.8 + 2011 + 大森贵弘 Takahiro Omori + 佐仓绫音 Ayane Sakura + 日本 + 剧情 爱情 动画 奇幻 + + + 告白 + 8.8 + 2010 + 中岛哲也 Tetsuya Nakashima + 松隆子 Takako Matsu + 日本 + 剧情 悬疑 + + + 玛丽和麦克斯 + 9.0 + 2009 + 亚当·艾略特 Adam Elliot + 托妮·科莱特 Toni Collette + 澳大利亚 美国 + 剧情 喜剧 动画 + + + 七武士 + 9.3 + 1954 + 黑泽明 Akira Kurosawa + 三船敏郎 Toshirô Mifune + 日本 + 动作 冒险 剧情 + + + 头号玩家 + 8.6 + 2018 + 史蒂文·斯皮尔伯格 Steven Spielberg + 泰伊·谢里丹 Tye Sheri + 美国 + 动作 科幻 冒险 + + + 模仿游戏 + 8.8 + 2014 + 莫滕·泰杜姆 Morten Tyldum + 本尼迪克特·康伯巴奇 Benedict C + 英国 美国 + 剧情 传记 战争 同性 + + + 惊魂记 + 9.0 + 1960 + 阿尔弗雷德·希区柯克 Alfred Hitchcock + 安东尼·博金斯 Antho + 美国 + 悬疑 惊悚 恐怖 + + + 大鱼 + 8.8 + 2003 + 蒂姆·波顿 Tim Burton + 伊万·麦克格雷格 Ewan McGregor + 美国 + 剧情 爱情 奇幻 冒险 + + + 心灵奇旅 + 8.7 + 2020 + 彼特·道格特 Pete Docter + 杰米· + 美国 + 动画 奇幻 音乐 + + + 射雕英雄传之东成西就 + 8.7 + 1993 + 刘镇伟 Jeffrey Lau + 梁朝伟 Tony Leung Chiu Wai + 中国香港 + 喜剧 奇幻 武侠 古装 + + + 血战钢锯岭 + 8.7 + 2016 + 梅尔·吉布森 Mel Gibson + 安德鲁·加菲尔德 Andrew Garfield + 澳大利亚 美国 + 剧情 传记 历史 战争 + + + 背靠背,脸对脸 + 9.5 + 1994 + 黄建新 Jianxin Huang + 牛振华 Zhenhua N + 中国大陆 中国香港 + 剧情 + + + 机器人之梦 + 9.1 + 2023 + 巴勃罗·贝格尔 Pablo Berger + 伊万·拉班达 Ivan Labanda + 西班牙 法国 + 剧情 动画 音乐 + + + 你的名字。 + 8.5 + 2016 + 新海诚 Makoto Shinkai + 神木隆之介 Ryûnosuke Kamiki + 日本 + 剧情 爱情 动画 + + + 我是山姆 + 9.0 + 2001 + 杰茜·尼尔森 Jessie Nelson + Sean Penn + 美国 + 剧情 家庭 + + + 阳光姐妹淘 + 8.8 + 2011 + 姜炯哲 Hyeong-Cheol Kang + 沈恩京 Eun-kyung Shim + 韩国 + 剧情 喜剧 + + + 恐怖直播 + 8.7 + 2013 + 金秉祐 Byeong-woo Kim + 河正宇 Jung-woo Ha + 韩国 + 剧情 犯罪 悬疑 + + + 黑客帝国3:矩阵革命 + 8.8 + 2003 + 拉娜·沃卓斯基 Lana Wachowski + 未知 + 美国 + 动作 科幻 + + + 末路狂花 + 9.0 + 1991 + 雷德利·斯科特 Ridley Scott + 吉娜·戴维斯 Geena Davis + 美国 英国 法国 + 犯罪 剧情 惊悚 + + + 小丑 + 8.7 + 2019 + 托德·菲利普斯 Todd Phillips + 杰昆·菲尼克斯 Joaquin Phoeni + 美国 加拿大 + 剧情 犯罪 惊悚 + + + 三块广告牌 + 8.7 + 2017 + 马丁·麦克唐纳 Martin McDonagh + 弗兰西斯·麦克多蒙德 France + 英国 美国 + 剧情 犯罪 + + + 谍影重重3 + 8.9 + 2007 + 保罗·格林格拉斯 Paul Greengrass + 马特·达蒙 Matt Damon + 美国 德国 法国 英国 + 动作 悬疑 惊悚 + + + 电锯惊魂 + 8.7 + 2004 + 詹姆斯·温 James Wan + 雷·沃纳尔 Leigh Whannell + 美国 + 悬疑 惊悚 恐怖 + + + 高山下的花环 + 9.5 + 1984 + 谢晋 Jin Xie + 吕晓禾 Xiaohe Lü + (中国大陆) + 剧情 战争 + + + 无间道2 + 8.8 + 2003 + 刘伟强 Andrew Lau + 陈冠希 Edison Chen + 中国香港 + 剧情 犯罪 惊悚 + + + 达拉斯买家俱乐部 + 8.8 + 2013 + 让-马克·瓦雷 Jean-Marc Vallée + 马修·麦康纳 Matthew McCon + 美国 + 剧情 传记 同性 + + + 疯狂原始人 + 8.7 + 2013 + 科克·德·米科 Kirk De Micco + 未知 + 美国 + 喜剧 动画 冒险 + + + 绿里奇迹 + 8.9 + 1999 + 弗兰克·德拉邦特 Frank Darabont + 汤姆·汉克斯 Tom Hanks + 美国 + 犯罪 剧情 奇幻 悬疑 + + + 爱在午夜降临前 + 8.9 + 2013 + 理查德·林克莱特 Richard Linklater + 伊桑·霍克 Ethan Hawke + 美国 希腊 + 剧情 爱情 + + + 疯狂的石头 + 8.6 + 2006 + 宁浩 Hao Ning + 郭涛 Tao Guo + 中国大陆 中国香港 + 喜剧 犯罪 + + + 雨中曲 + 9.1 + 1952 + 斯坦利·多南 Stanley Donen + 吉恩· + 美国 + 喜剧 歌舞 爱情 + + + 2001太空漫游 + 8.9 + 1968 + 斯坦利·库布里克 Stanley Kubrick + 凯尔·杜拉 Keir Dullea + 英国 美国 + 科幻 惊悚 冒险 + + + 海街日记 + 8.8 + 2015 + 是枝裕和 Hirokazu Koreeda + 绫濑遥 Haruka Ayase + 日本 + 剧情 家庭 + + + 风之谷 + 8.9 + 1984 + 宫崎骏 Hayao Miyazaki + 岛本须美 Sumi Shimamoto + 日本 + 动画 奇幻 冒险 + + + 上帝之城 + 9.0 + 2002 + 费尔南多·梅里尔斯 Fernando Meirelles + 未知 + 巴西 法国 + 犯罪 剧情 + + + 心迷宫 + 8.7 + 2014 + 忻钰坤 Yukun Xin + 霍卫民 Weimin Huo + 中国大陆 + 剧情 犯罪 悬疑 + + + 英雄本色 + 8.6 + 1986 + 吴宇森 John Woo + 周润发 Yun-Fat Chow + 中国香港 + 剧情 动作 犯罪 + + + 记忆碎片 + 8.7 + 2000 + 克里斯托弗·诺兰 Christopher Nolan + 盖·皮尔斯 Guy Pearce + 美国 + 犯罪 剧情 悬疑 惊悚 + + + 纵横四海 + 8.8 + 1991 + 吴宇森 John Woo + 周润发 Yun-Fat Chow + 中国香港 + 剧情 喜剧 动作 犯罪 + + + 无敌破坏王 + 8.7 + 2012 + 瑞奇·莫尔 Rich Moore + 约翰·C·赖利 John C. Reilly + 美国 + 喜剧 动画 奇幻 冒险 + + + 卢旺达饭店 + 8.9 + 2004 + 特瑞·乔治 Terry George + 唐·钱德尔 Don Cheadle + 英国 南非 意大利 美国 + 剧情 传记 历史 战争 + + + 东京教父 + 9.0 + 2003 + 今敏 Satoshi Kon + 江守彻 Toru Emori + 日本 + 剧情 喜剧 动画 + + + 小偷家族 + 8.7 + 2018 + 是枝裕和 Hirokazu Koreeda + 中川雅也 Lily Franky + 日本 + 剧情 犯罪 家庭 + + + 恐怖游轮 + 8.5 + 2009 + 克里斯托弗·史密斯 Christopher Smith + 梅利莎·乔治 Melissa + 英国 澳大利亚 + 科幻 悬疑 奇幻 惊悚 + + + 牯岭街少年杀人事件 + 8.9 + 1991 + 杨德昌 Edward Yang + 张震 Chen Chang + 中国台湾 + 剧情 犯罪 + + + 冰川时代 + 8.7 + 2002 + 卡洛斯·沙尔丹哈 Carlos Saldanha + 未知 + 美国 + 喜剧 动画 冒险 + + + 魔女宅急便 + 8.7 + 1989 + 宫崎骏 Hayao Miyazaki + 高山南 Minami Takayama + 日本 + 动画 奇幻 冒险 + + + 芙蓉镇 + 9.3 + 1987 + 谢晋 Jin Xie + 刘晓庆 Xiaoqing Liu + 中国大陆 + 剧情 爱情 + + + 忠犬八公物语 + 9.2 + 1987 + 神山征二郎 Seijirô Kôyama + 仲代达矢 Tatsuya Nakadai + 日本 + 剧情 + + + 岁月神偷 + 8.7 + 2010 + 罗启锐 Alex Law + 吴君如 Sandra Ng + 中国香港 中国大陆 + 剧情 家庭 + + + 遗愿清单 + 8.7 + 2007 + 罗伯·莱纳 Rob Reiner + 杰克·尼科尔森 Jack Nicholson + 美国 + 冒险 喜剧 剧情 + + + 荒蛮故事 + 8.7 + 2014 + 达米安·斯兹弗隆 Damián Szifron + 达里奥·葛兰帝内提 Darío + 阿根廷 西班牙 + 剧情 喜剧 犯罪 + + + 大佛普拉斯 + 8.7 + 2017 + 黄信尧 Hsin-yao Huang + 庄益增 Yizeng Zhuang + 中国台湾 + 剧情 喜剧 + + + 源代码 + 8.6 + 2011 + 邓肯·琼斯 Duncan Jones + 杰克·吉伦哈尔 Jake Gyllenhaal + 美国 加拿大 + 科幻 悬疑 惊悚 + + + 花束般的恋爱 + 8.6 + 2021 + 土井裕泰 Nobuhiro Doi + 菅田将晖 Masaki Suda + 日本 + 剧情 爱情 + + + 白日梦想家 + 8.6 + 2013 + 本·斯蒂勒 Ben Stiller + 本·斯蒂勒 Ben Stiller + 美国 英国 + 剧情 喜剧 冒险 + + + 疯狂的麦克斯4:狂暴之路 + 8.7 + 2015 + 乔治·米勒 George Miller + 汤姆·哈迪 Tom Hardy + 澳大利亚 美国 + 动作 科幻 冒险 + + + 可可西里 + 8.9 + 2004 + 陆川 Chuan Lu + 多布杰 Duobujie + 中国大陆 中国香港 + 剧情 犯罪 + + + 你看起来好像很好吃 + 8.9 + 2010 + 藤森雅也 Masaya Fujimori + 山口胜平 Kappei Yamaguchi + 日本 + 剧情 动画 儿童 + + + 爱乐之城 + 8.4 + 2016 + 达米恩·查泽雷 Damien Chazelle + 瑞恩·高斯林 Ryan Gosling + 美国 + 剧情 爱情 歌舞 + + + 贫民窟的百万富翁 + 8.6 + 2008 + 丹尼·鲍尔 Danny Boyle + 戴夫 + 英国 + 剧情 爱情 + + + 波西米亚狂想曲 + 8.6 + 2018 + 布莱恩·辛格 Bryan Singer + 拉米·马雷克 Rami Malek + 英国 美国 + 剧情 传记 同性 音乐 + + + 城市之光 + 9.3 + 1931 + 查理·卓别林 Charles Chaplin + 查理·卓别林 Charles Chaplin + 美国 + 喜剧 剧情 爱情 + + + 爆裂鼓手 + 8.6 + 2014 + 达米恩·查泽雷 Damien Chazelle + 迈尔斯·特勒 Miles Teller + 美国 + 剧情 音乐 + + + 青蛇 + 8.6 + 1993 + 徐克 Hark Tsui + 张曼玉 Maggie Cheung + 中国香港 中国大陆 + 剧情 爱情 奇幻 古装 + + + 东邪西毒 + 8.6 + 1994 + 王家卫 Kar Wai Wong + 张国荣 Leslie Cheung + 中国香港 中国台湾 + 剧情 动作 爱情 武侠 古装 + + + 哈利·波特与死亡圣器(上) + 8.6 + 2010 + 大卫·叶茨 David Yates + 丹尼尔·雷德克里夫 Daniel Radcliffe + 英国 美国 + 奇幻 冒险 + + + 无耻混蛋 + 8.7 + 2009 + 昆汀·塔伦蒂诺 Quentin Tarantino + 布拉德·皮特 Brad Pitt + 德国 美国 + 剧情 犯罪 + + + 终结者2:审判日 + 8.8 + 1991 + 詹姆斯·卡梅隆 James Cameron + 阿诺·施瓦辛格 Arnold Schwarz + 美国 法国 + 动作 科幻 + + + 大红灯笼高高挂 + 8.8 + 1991 + 张艺谋 Yimou Zhang + 巩俐 Li Gong + 中国大陆 中国香港 中国台湾 + 剧情 + + + 黑天鹅 + 8.6 + 2010 + 达伦·阿罗诺夫斯基 Darren Aronofsky + 娜塔莉·波特曼 Natalie + 美国 + 剧情 惊悚 + + + 新龙门客栈 + 8.7 + 1992 + 李惠民 Raymond Lee + 张曼玉 Maggie Cheung + 中国香港 中国大陆 + 动作 爱情 武侠 古装 + + + 初恋这件小事 + 8.5 + 2010 + 普特鹏·普罗萨卡·那·萨克那卡林 Puttipong Promsaka Na Sakolnakorn + 未知 + 泰国 + 剧情 喜剧 爱情 + + + 人工智能 + 8.7 + 2001 + 史蒂文·斯皮尔伯格 Steven Spielberg + 海利·乔·奥斯蒙 Haley + 美国 + 剧情 科幻 + + + 千钧一发 + 8.8 + 1997 + 安德鲁·尼科尔 Andrew Niccol + 伊桑·霍克 Ethan Hawke + 美国 + 剧情 科幻 惊悚 + + + 崖上的波妞 + 8.6 + 2008 + 宫崎骏 Hayao Miyazaki + 奈良柚莉爱 Yuria Nara + 日本 + 动画 奇幻 冒险 + + + 雨人 + 8.7 + 1988 + 巴瑞·莱文森 Barry Levinson + 达斯汀·霍夫曼 Dustin Hoffman + 美国 + 剧情 + + + 虎口脱险 + 8.9 + 1966 + 杰拉尔·乌里 Gérard Oury + 路易·德·菲耐斯 Louis de Funès + 法国 英国 + 喜剧 战争 + + + 哈利·波特与凤凰社 + 8.6 + 2007 + 大卫·叶茨 David Yates + 丹尼尔·雷德克里夫 Daniel Radcliffe + 英国 美国 + 奇幻 冒险 + + + 彗星来的那一夜 + 8.6 + 2013 + 詹姆斯·沃德·布柯特 James Ward Byrkit + 艾米丽·芭尔多尼 Em + 美国 英国 + 科幻 悬疑 惊悚 + + + 罗生门 + 8.8 + 1950 + 黑泽明 Akira Kurosawa + 三船敏郎 Toshirô Mifune + 日本 + 剧情 犯罪 悬疑 + + + 海边的曼彻斯特 + 8.6 + 2016 + 肯尼斯·罗纳根 Kenneth Lonergan + 卡西·阿弗莱克 Casey Affle + 美国 + 剧情 家庭 + + + 恋恋笔记本 + 8.5 + 2004 + 尼克·卡索维茨 Nick Cassavetes + 瑞恩·高斯林 Ryan Gosling + 美国 + 剧情 爱情 + + + 真爱至上 + 8.5 + 2003 + 理查德·柯蒂斯 Richard Curtis + 休·格兰特 Hugh Grant + 英国 美国 法国 + 喜剧 剧情 爱情 + + + 火星救援 + 8.5 + 2015 + 雷德利·斯科特 Ridley Scott + 马特·达蒙 Matt Damon + 英国 美国 匈牙利 约旦 + 剧情 科幻 冒险 + + + 黑客帝国2:重装上阵 + 8.7 + 2003 + 拉娜·沃卓斯基 Lana Wachowski + 未知 + 美国 + 动作 科幻 + + + 步履不停 + 8.8 + 2008 + 是枝裕和 Hirokazu Koreeda + 阿部宽 Hiroshi Abe + 日本 + 剧情 家庭 + + + 冰雪奇缘 + 8.5 + 2013 + 克里斯·巴克 Chris Buck + 克里斯汀 + 美国 + 喜剧 动画 奇幻 歌舞 + + + 奇迹男孩 + 8.6 + 2017 + 斯蒂芬·卓博斯基 Stephen Chbosky + 雅各布·特伦布莱 Jacob Tr + 美国 中国香港 + 剧情 儿童 家庭 + + + 千年女优 + 8.8 + 2001 + 今敏 Satoshi Kon + 庄司美代子 Miyoko Shôji + 日本 + 动画 剧情 爱情 + + + 战争之王 + 8.7 + 2005 + 安德鲁·尼科尔 Andrew Niccol + 尼古拉斯·凯奇 Nicolas Cage + 美国 德国 + 剧情 犯罪 + + + 谍影重重2 + 8.7 + 2004 + 保罗·格林格拉斯 Paul Greengrass + 马特·达蒙 Matt Damon + 美国 德国 + 动作 悬疑 惊悚 + + + 蜘蛛侠:平行宇宙 + 8.6 + 2018 + 鲍勃·佩尔西凯蒂 Bob Persichetti + 未知 + 美国 + 动作 科幻 动画 冒险 + + + 攻壳机动队 + 9.0 + 1995 + 押井守 Mamoru Oshii + 田中敦子 Atsuko Tanaka + 日本 + 动作 科幻 动画 + + + 血钻 + 8.7 + 2006 + 爱德华·兹威克 Edward Zwick + 莱昂纳多·迪卡普里奥 Leonardo + 美国 德国 英国 + 剧情 惊悚 冒险 + + + 小姐 + 8.5 + 2016 + 朴赞郁 Chan-wook Park + 金敏喜 Min-hee Kim + 韩国 + 剧情 悬疑 情色 同性 + + + 隐藏人物 + 8.9 + 2016 + 特奥多尔·梅尔菲 Theodore Melfi + 塔拉吉·P·汉森 Taraji P. + 美国 + 剧情 传记 历史 + + + 魂断蓝桥 + 8.8 + 1940 + 茂文·勒鲁瓦 Mervyn LeRoy + 费雯·丽 Vivien Leigh + 美国 + 剧情 爱情 战争 + + + 血观音 + 8.6 + 2017 + 杨雅喆 Ya-che Yang + 惠英红 Kara Wai Ying Hung + 中国台湾 + 剧情 悬疑 + + + 房间 + 8.7 + 2015 + 伦尼·阿伯拉罕森 Lenny Abrahamson + 布丽·拉尔森 Brie Larson + 爱尔兰 加拿大 英国 美国 + 剧情 家庭 + + \ No newline at end of file diff --git a/project/genre_distribution.png b/project/genre_distribution.png new file mode 100644 index 0000000000000000000000000000000000000000..48e59c20994447c5245d538afdeec1889a38e903 GIT binary patch literal 30093 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 SOKgx^ZC7txm9%o_vHt>}uOSow literal 0 HcmV?d00001