diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index 38c7634..0000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "java.project.explorer.showNonJavaResources": false
-}
\ No newline at end of file
diff --git a/crawler/HtmlFetcher.java b/crawler/HtmlFetcher.java
new file mode 100644
index 0000000..d58f079
--- /dev/null
+++ b/crawler/HtmlFetcher.java
@@ -0,0 +1,38 @@
+package crawler;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+public class HtmlFetcher {
+ public static String fetchHtmlContent(String urlString) {
+ StringBuilder htmlContent = new StringBuilder();
+ HttpURLConnection connection = null;
+ try {
+ URL url = new URL(urlString);
+ connection = (HttpURLConnection) url.openConnection();
+ connection.setRequestMethod("GET");
+ connection.setRequestProperty("User-Agent",
+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3");
+ int code = connection.getResponseCode();
+ if (code == 200) {
+ BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));
+ String line = null;
+ while ((line = reader.readLine()) != null)
+ htmlContent.append(line);
+ reader.close();
+ }
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (connection != null)
+ connection.disconnect();
+ }
+ return htmlContent.toString();
+ }
+}
diff --git a/crawler/MatcherGetter.java b/crawler/MatcherGetter.java
new file mode 100644
index 0000000..ad9cbb8
--- /dev/null
+++ b/crawler/MatcherGetter.java
@@ -0,0 +1,11 @@
+package crawler;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class MatcherGetter {
+ public static Matcher getMatcher(String regex, String htmlContent) {
+ Pattern p = Pattern.compile(regex);
+ return p.matcher(htmlContent);
+ }
+}
diff --git a/crawler/Test.java b/crawler/Test.java
new file mode 100644
index 0000000..8a5d4ca
--- /dev/null
+++ b/crawler/Test.java
@@ -0,0 +1,29 @@
+package crawler;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.regex.Matcher;
+
+public class Test {
+ public static void main(String[] args) {
+ String regex = "(\\d+).*?(.*?).*?导演: (.*?) 主演: (.*?)
.*?(\\d{4}) / .*?";
+ String htmlContent = HtmlFetcher.fetchHtmlContent("https://movie.douban.com/top250");
+ Matcher m = MatcherGetter.getMatcher(regex, htmlContent);
+ StringBuilder movieInfo = new StringBuilder();
+ movieInfo.append("豆瓣电影 Top 250\n\n");
+ while (m.find()) {
+ movieInfo.append("排名: ").append(m.group(1)).append("\n");
+ movieInfo.append("电影名: ").append(m.group(2)).append("\n");
+ movieInfo.append("导演: ").append(m.group(3)).append("\n");
+ movieInfo.append("主演: ").append(m.group(4)).append("\n");
+ movieInfo.append("年份: ").append(m.group(5)).append("\n");
+ movieInfo.append("评分: ").append(m.group(6)).append("\n");
+ movieInfo.append("\n");
+ }
+ try (PrintWriter out = new PrintWriter("crawler\\movieInfo.txt")) {
+ out.println(movieInfo);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/crawler/movieInfo.txt b/crawler/movieInfo.txt
new file mode 100644
index 0000000..2d85066
--- /dev/null
+++ b/crawler/movieInfo.txt
@@ -0,0 +1,171 @@
+豆瓣电影 Top 250
+
+排名: 1
+电影名: 肖申克的救赎
+导演: 弗兰克·德拉邦特 Frank Darabont
+主演: 蒂姆·罗宾斯 Tim Robbins /...
+年份: 1994
+评分: 9.7
+
+排名: 2
+电影名: 霸王别姬
+导演: 陈凯歌 Kaige Chen
+主演: 张国荣 Leslie Cheung / 张丰毅 Fengyi Zha...
+年份: 1993
+评分: 9.6
+
+排名: 3
+电影名: 阿甘正传
+导演: 罗伯特·泽米吉斯 Robert Zemeckis
+主演: 汤姆·汉克斯 Tom Hanks / ...
+年份: 1994
+评分: 9.5
+
+排名: 4
+电影名: 泰坦尼克号
+导演: 詹姆斯·卡梅隆 James Cameron
+主演: 莱昂纳多·迪卡普里奥 Leonardo...
+年份: 1997
+评分: 9.5
+
+排名: 5
+电影名: 千与千寻
+导演: 宫崎骏 Hayao Miyazaki
+主演: 柊瑠美 Rumi Hîragi / 入野自由 Miy...
+年份: 2001
+评分: 9.4
+
+排名: 6
+电影名: 这个杀手不太冷
+导演: 吕克·贝松 Luc Besson
+主演: 让·雷诺 Jean Reno / 娜塔莉·波特曼 ...
+年份: 1994
+评分: 9.4
+
+排名: 7
+电影名: 美丽人生
+导演: 罗伯托·贝尼尼 Roberto Benigni
+主演: 罗伯托·贝尼尼 Roberto Beni...
+年份: 1997
+评分: 9.5
+
+排名: 8
+电影名: 星际穿越
+导演: 克里斯托弗·诺兰 Christopher Nolan
+主演: 马修·麦康纳 Matthew Mc...
+年份: 2014
+评分: 9.4
+
+排名: 9
+电影名: 盗梦空间
+导演: 克里斯托弗·诺兰 Christopher Nolan
+主演: 莱昂纳多·迪卡普里奥 Le...
+年份: 2010
+评分: 9.4
+
+排名: 10
+电影名: 楚门的世界
+导演: 彼得·威尔 Peter Weir
+主演: 金·凯瑞 Jim Carrey / 劳拉·琳妮 Lau...
+年份: 1998
+评分: 9.4
+
+排名: 11
+电影名: 辛德勒的名单
+导演: 史蒂文·斯皮尔伯格 Steven Spielberg
+主演: 连姆·尼森 Liam Neeson...
+年份: 1993
+评分: 9.5
+
+排名: 12
+电影名: 忠犬八公的故事
+导演: 莱塞·霍尔斯道姆 Lasse Hallström
+主演: 理查·基尔 Richard Ger...
+年份: 2009
+评分: 9.4
+
+排名: 13
+电影名: 海上钢琴师
+导演: 朱塞佩·托纳多雷 Giuseppe Tornatore
+主演: 蒂姆·罗斯 Tim Roth / ...
+年份: 1998
+评分: 9.3
+
+排名: 14
+电影名: 三傻大闹宝莱坞
+导演: 拉库马·希拉尼 Rajkumar Hirani
+主演: 阿米尔·汗 Aamir Khan / 卡...
+年份: 2009
+评分: 9.2
+
+排名: 15
+电影名: 放牛班的春天
+导演: 克里斯托夫·巴拉蒂 Christophe Barratier
+主演: 让-巴蒂斯特·莫尼...
+年份: 2004
+评分: 9.3
+
+排名: 16
+电影名: 机器人总动员
+导演: 安德鲁·斯坦顿 Andrew Stanton
+主演: 本·贝尔特 Ben Burtt / 艾丽...
+年份: 2008
+评分: 9.3
+
+排名: 17
+电影名: 疯狂动物城
+导演: 拜伦·霍华德 Byron Howard / 瑞奇·摩尔 Rich Moore
+主演: 金妮弗·...
+年份: 2016
+评分: 9.2
+
+排名: 18
+电影名: 无间道
+导演: 刘伟强 / 麦兆辉
+主演: 刘德华 Andy Lau / 梁朝伟 Tony Leung Chiu W...
+年份: 2002
+评分: 9.3
+
+排名: 19
+电影名: 控方证人
+导演: 比利·怀尔德 Billy Wilder
+主演: 泰隆·鲍华 Tyrone Power / 玛琳·...
+年份: 1957
+评分: 9.6
+
+排名: 20
+电影名: 大话西游之大圣娶亲
+导演: 刘镇伟 Jeffrey Lau
+主演: 周星驰 Stephen Chow / 吴孟达 Man Tat Ng...
+年份: 1995
+评分: 9.2
+
+排名: 21
+电影名: 熔炉
+导演: 黄东赫 Dong-hyuk Hwang
+主演: 孔侑 Yoo Gong / 郑有美 Yu-mi Jung /...
+年份: 2011
+评分: 9.4
+
+排名: 22
+电影名: 教父
+导演: 弗朗西斯·福特·科波拉 Francis Ford Coppola
+主演: 马龙·白兰度 M...
+年份: 1972
+评分: 9.3
+
+排名: 23
+电影名: 触不可及
+导演: 奥利维·那卡什 Olivier Nakache / 艾力克·托兰达 Eric Toledano 主...
2011 / 法国 / 剧情 喜剧
满满温情的高雅喜剧。
导演: 加布里尔·穆奇诺 Gabriele Muccino +主演: 威尔·史密斯 Will Smith ... +年份: 2006 +评分: 9.2 + +排名: 25 +电影名: 寻梦环游记 +导演: 李·昂克里奇 Lee Unkrich / 阿德里安·莫利纳 Adrian Molina +主演: ... +年份: 2017 +评分: 9.1 + +