|
@@ -9,30 +9,50 @@ import org.junit.jupiter.api.Test;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * 网络搜索服务测试类
|
|
|
|
|
+ * 用于测试网页爬取和谷歌搜索功能
|
|
|
|
|
+ */
|
|
|
public class WebSearchServiceTests {
|
|
public class WebSearchServiceTests {
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 测试网页爬取功能
|
|
|
|
|
+ * 爬取指定URL的网页内容并打印结果
|
|
|
|
|
+ */
|
|
|
@Test
|
|
@Test
|
|
|
public void webCrawlerTest() {
|
|
public void webCrawlerTest() {
|
|
|
|
|
+ // 创建网络搜索服务实例
|
|
|
WebSearchServiceImpl webSearchService = new WebSearchServiceImpl();
|
|
WebSearchServiceImpl webSearchService = new WebSearchServiceImpl();
|
|
|
|
|
+ // 调用网页爬取方法,获取长沙天气页面内容
|
|
|
Map<String, String> webCrawlerRes = webSearchService.webCrawler(
|
|
Map<String, String> webCrawlerRes = webSearchService.webCrawler(
|
|
|
Lists.newArrayList("https://tianqi.eastday.com/changsha/40/"));
|
|
Lists.newArrayList("https://tianqi.eastday.com/changsha/40/"));
|
|
|
|
|
+ // 遍历并打印爬取结果
|
|
|
for (Map.Entry<String, String> entry : webCrawlerRes.entrySet()) {
|
|
for (Map.Entry<String, String> entry : webCrawlerRes.entrySet()) {
|
|
|
System.err.println(entry.getValue());
|
|
System.err.println(entry.getValue());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 测试谷歌搜索功能
|
|
|
|
|
+ * 搜索指定关键词,获取搜索结果并爬取对应网页内容
|
|
|
|
|
+ */
|
|
|
@Test
|
|
@Test
|
|
|
public void googleSearchTest() {
|
|
public void googleSearchTest() {
|
|
|
|
|
+ // 创建网络搜索服务实例
|
|
|
WebSearchServiceImpl webSearchService = new WebSearchServiceImpl();
|
|
WebSearchServiceImpl webSearchService = new WebSearchServiceImpl();
|
|
|
|
|
+ // 调用谷歌搜索方法,搜索"长沙今天天气",限制返回6条结果
|
|
|
List<WebSearchRespVO> webSearchRespList = webSearchService.googleSearch("长沙今天天气", 6);
|
|
List<WebSearchRespVO> webSearchRespList = webSearchService.googleSearch("长沙今天天气", 6);
|
|
|
|
|
|
|
|
|
|
+ // 从搜索结果中提取URL,并爬取对应网页内容
|
|
|
Map<String, String> webCrawlerRespMap
|
|
Map<String, String> webCrawlerRespMap
|
|
|
= webSearchService.webCrawler(webSearchRespList.stream().map(WebSearchRespVO::getUrl).toList());
|
|
= webSearchService.webCrawler(webSearchRespList.stream().map(WebSearchRespVO::getUrl).toList());
|
|
|
|
|
|
|
|
|
|
+ // 打印搜索结果
|
|
|
for (WebSearchRespVO webSearchRespVO : webSearchRespList) {
|
|
for (WebSearchRespVO webSearchRespVO : webSearchRespList) {
|
|
|
System.err.println(JSON.toJSONString(webSearchRespVO));
|
|
System.err.println(JSON.toJSONString(webSearchRespVO));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 打印爬取的网页内容
|
|
|
for (Map.Entry<String, String> entry : webCrawlerRespMap.entrySet()) {
|
|
for (Map.Entry<String, String> entry : webCrawlerRespMap.entrySet()) {
|
|
|
System.err.println("url:" + entry.getKey());
|
|
System.err.println("url:" + entry.getKey());
|
|
|
System.err.println("value" + entry.getValue());
|
|
System.err.println("value" + entry.getValue());
|