Browse Source

上传文件至 'w11'

main
SunWenxuan 1 month ago
parent
commit
4c54c359ae
  1. 15
      w11/ASiteCrawlStrategy.java
  2. 14
      w11/CrawlException.java
  3. 9
      w11/NetworkException.java
  4. 10
      w11/ParseException.java
  5. 8
      w11/UnsupportedSiteException.java

15
w11/ASiteCrawlStrategy.java

@ -0,0 +1,15 @@
package com.example.datacollect;
// 先定义爬虫策略接口(必须先建这个,否则ASiteCrawlStrategy会报错)
public interface ASiteCrawlStrategy {
void crawl(String url);
}
// A网站爬虫策略类(实现上面的接口)
class ASiteCrawlStrategyImpl implements CrawlStrategy {
@Override
public void crawl(String url) {
// 先写简单逻辑:打印爬取信息
System.out.println("正在爬取A网站:" + url);
}
}

14
w11/CrawlException.java

@ -0,0 +1,14 @@
package com.example.datacollect;
// 根异常:继承RuntimeException(Unchecked异常),爬虫项目所有异常都继承它
public class CrawlException extends RuntimeException {
// 构造器1:只传错误信息
public CrawlException(String message) {
super(message);
}
// 构造器2:传错误信息+原始异常(方便排查根因)
public CrawlException(String message, Throwable cause) {
super(message, cause);
}
}

9
w11/NetworkException.java

@ -0,0 +1,9 @@
package com.example.datacollect;
// 网络异常:继承根异常CrawlException
public class NetworkException extends CrawlException {
public NetworkException(String message) {
// 给错误信息加前缀,方便定位
super("网络请求失败:" + message);
}
}

10
w11/ParseException.java

@ -0,0 +1,10 @@
package com.example.datacollect;
// 解析异常:继承根异常CrawlException
public class ParseException extends CrawlException {
public ParseException(String message) {
super("数据解析失败:" + message);
}
}

8
w11/UnsupportedSiteException.java

@ -0,0 +1,8 @@
package com.example.datacollect;
// 不支持的网站异常:继承根异常CrawlException
public class UnsupportedSiteException extends CrawlException {
public UnsupportedSiteException(String siteKey) {
super("不支持的网站类型:" + siteKey);
}
}
Loading…
Cancel
Save