1 changed files with 80 additions and 0 deletions
@ -0,0 +1,80 @@ |
|||||
|
package com.crawler.view; |
||||
|
|
||||
|
import com.crawler.model.CrawlerData; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
public class CrawlerView { |
||||
|
public void showStartMessage(String crawlerName) { |
||||
|
System.out.println("========================================"); |
||||
|
System.out.println("开始运行爬虫: " + crawlerName); |
||||
|
System.out.println("========================================"); |
||||
|
} |
||||
|
|
||||
|
public void showProgress(int current, int total) { |
||||
|
System.out.printf("进度: %d/%d%n", current, total); |
||||
|
} |
||||
|
|
||||
|
public void showData(List<CrawlerData> dataList) { |
||||
|
System.out.println("========================================"); |
||||
|
System.out.println("爬取结果:"); |
||||
|
System.out.println("========================================"); |
||||
|
|
||||
|
if (dataList == null || dataList.isEmpty()) { |
||||
|
System.out.println("未获取到数据"); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
int index = 1; |
||||
|
for (CrawlerData data : dataList) { |
||||
|
System.out.println("[" + index++ + "]"); |
||||
|
System.out.println("标题: " + data.getTitle()); |
||||
|
System.out.println("链接: " + data.getUrl()); |
||||
|
System.out.println("来源: " + data.getSource()); |
||||
|
if (data.getPublishDate() != null && !data.getPublishDate().isEmpty()) { |
||||
|
System.out.println("发布日期: " + data.getPublishDate()); |
||||
|
} |
||||
|
if (data.getContent() != null && !data.getContent().isEmpty()) { |
||||
|
String preview = data.getContent().length() > 100 |
||||
|
? data.getContent().substring(0, 100) + "..." |
||||
|
: data.getContent(); |
||||
|
System.out.println("内容预览: " + preview); |
||||
|
} |
||||
|
System.out.println("----------------------------------------"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public void showSuccessMessage(int count) { |
||||
|
System.out.println("========================================"); |
||||
|
System.out.println("爬虫运行完成,共获取 " + count + " 条数据"); |
||||
|
System.out.println("========================================"); |
||||
|
} |
||||
|
|
||||
|
public void showErrorMessage(String error) { |
||||
|
System.err.println("========================================"); |
||||
|
System.err.println("错误: " + error); |
||||
|
System.err.println("========================================"); |
||||
|
} |
||||
|
|
||||
|
public void showCacheSuccess(String filePath, int recordCount, long fileSize) { |
||||
|
System.out.println("========================================"); |
||||
|
System.out.println("缓存操作结果:"); |
||||
|
System.out.println("========================================"); |
||||
|
System.out.println("状态: 成功"); |
||||
|
System.out.println("信息: 保存成功"); |
||||
|
System.out.println("路径: " + filePath); |
||||
|
System.out.println("记录数: " + recordCount); |
||||
|
System.out.println("文件大小: " + formatFileSize(fileSize)); |
||||
|
System.out.println("========================================"); |
||||
|
} |
||||
|
|
||||
|
private String formatFileSize(long size) { |
||||
|
if (size < 1024) { |
||||
|
return size + " B"; |
||||
|
} else if (size < 1024 * 1024) { |
||||
|
return String.format("%.2f KB", size / 1024.0); |
||||
|
} else { |
||||
|
return String.format("%.2f MB", size / (1024.0 * 1024)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue