|
|
@@ -313,7 +313,7 @@ public class CrawlerServiceImpl implements CrawlerService {
|
|
|
} catch (HttpStatusException hse) {
|
|
|
generateIkoaToken(ikoaConstantMap, proxy);
|
|
|
} catch (Exception e) {
|
|
|
- log.error("IKOA搜索异常,ikoaConstantMap={},result={}", ikoaConstantMap, result.toString(), e);
|
|
|
+ log.error("IKOA搜索异常,ikoaConstantMap={},result={}", ikoaConstantMap, result, e);
|
|
|
if (i == 2) {
|
|
|
throw new Exception("IKOA搜索异常!");
|
|
|
}
|
|
|
@@ -386,7 +386,7 @@ public class CrawlerServiceImpl implements CrawlerService {
|
|
|
generateIkoaToken(ikoaConstantMap, proxy);
|
|
|
} catch (Exception e) {
|
|
|
if (i == 2) {
|
|
|
- log.error("IKOA搜索异常,ikoaConstantMap={},result={}", ikoaConstantMap, result.toString(), e);
|
|
|
+ log.error("IKOA搜索异常,ikoaConstantMap={},result={}", ikoaConstantMap, result, e);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -400,116 +400,24 @@ public class CrawlerServiceImpl implements CrawlerService {
|
|
|
* 2022/9/26 23:22
|
|
|
*/
|
|
|
@Override
|
|
|
- public String findIkoaMovieDownloadLog(String page, String sort) throws Exception {
|
|
|
- log.warn("findIkoaMovieDownloadLog 开始:page={}", page);
|
|
|
- // 获取ikoa常量MAP
|
|
|
- Map<String, String> ikoaConstantMap = dicCodeMapper.findAll().stream()
|
|
|
- .filter(x -> "ikoa".equals(x.getCodeDesc()) && x.getEnv().contains(env))
|
|
|
- .collect(Collectors.toMap(DicCode::getCodeKey, DicCode::getCodeValue, (key1, key2) -> key1));
|
|
|
-
|
|
|
- // 代理及TOKEN设置
|
|
|
- Proxy proxy;
|
|
|
- if ("dev".equals(env)) {
|
|
|
- proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("127.0.0.1", 1080));
|
|
|
- } else {
|
|
|
- proxy = Proxy.NO_PROXY;
|
|
|
+ public String findIkoaMovieDownloadLog(String keyword, Integer pic, String orderField, String order, String crudT) throws Exception {
|
|
|
+ if ("2".equals(crudT)) {
|
|
|
+ //更新
|
|
|
+ return "success";
|
|
|
}
|
|
|
- if (StringUtils.isEmpty(ikoaToken)) {
|
|
|
- generateIkoaToken(ikoaConstantMap, proxy);
|
|
|
+ if ("3".equals(crudT)) {
|
|
|
+ //删除
|
|
|
+ return "success";
|
|
|
}
|
|
|
|
|
|
- Connection.Response response;
|
|
|
- StringBuffer sb = new StringBuffer();
|
|
|
- JSONObject result = null;
|
|
|
-
|
|
|
- // 查全部
|
|
|
- JSONArray ja = new JSONArray();
|
|
|
- if (StringUtils.isEmpty(page)) {
|
|
|
- // 查第一页
|
|
|
- int totalPage = 0;
|
|
|
- for (int i = 0; i < 3; i++) {
|
|
|
- try {
|
|
|
- response = Jsoup.connect(ikoaConstantMap.get("download_log_url"))
|
|
|
- .header("Authorization", "Token " + ikoaToken)
|
|
|
- .timeout(50000)
|
|
|
- .proxy(proxy)
|
|
|
- .data("page", "1")
|
|
|
- .ignoreContentType(true)
|
|
|
- .userAgent(getUserAgent())
|
|
|
- .header("referer", ikoaConstantMap.get("referer"))
|
|
|
- .method(Connection.Method.GET)
|
|
|
- .execute();
|
|
|
- result = JSONObject.parseObject(response.body());
|
|
|
- ja.addAll(result.getJSONArray("data"));
|
|
|
- totalPage = result.getInteger("total_page");
|
|
|
- break;
|
|
|
- } catch (HttpStatusException hse) {
|
|
|
- generateIkoaToken(ikoaConstantMap, proxy);
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("IKOA DownloadLog异常,ikoaConstantMap={},result={}", ikoaConstantMap, result.toString(), e);
|
|
|
- if (i == 2) {
|
|
|
- throw new Exception("IKOA DownloadLog异常!");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (totalPage > 1) {
|
|
|
- for (int j = 2; j <= totalPage; j++) {
|
|
|
- for (int k = 0; k < 3; k++) {
|
|
|
- try {
|
|
|
- response = Jsoup.connect(ikoaConstantMap.get("download_log_url"))
|
|
|
- .header("Authorization", "Token " + ikoaToken)
|
|
|
- .timeout(50000)
|
|
|
- .proxy(proxy)
|
|
|
- .data("page", String.valueOf(j))
|
|
|
- .ignoreContentType(true)
|
|
|
- .userAgent(getUserAgent())
|
|
|
- .header("referer", ikoaConstantMap.get("referer"))
|
|
|
- .method(Connection.Method.GET)
|
|
|
- .execute();
|
|
|
- result = JSONObject.parseObject(response.body());
|
|
|
- ja.addAll(result.getJSONArray("data"));
|
|
|
- break;
|
|
|
- } catch (HttpStatusException hse) {
|
|
|
- generateIkoaToken(ikoaConstantMap, proxy);
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("IKOA DownloadLog异常,ikoaConstantMap={},result={}", ikoaConstantMap, result.toString(), e);
|
|
|
- if (k == 2) {
|
|
|
- throw new Exception("IKOA DownloadLog异常!");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- // 查某页
|
|
|
- for (int i = 0; i < 3; i++) {
|
|
|
- try {
|
|
|
- response = Jsoup.connect(ikoaConstantMap.get("download_log_url"))
|
|
|
- .header("Authorization", "Token " + ikoaToken)
|
|
|
- .timeout(50000)
|
|
|
- .proxy(proxy)
|
|
|
- .data("page", page)
|
|
|
- .ignoreContentType(true)
|
|
|
- .userAgent(getUserAgent())
|
|
|
- .header("referer", ikoaConstantMap.get("referer"))
|
|
|
- .method(Connection.Method.GET)
|
|
|
- .execute();
|
|
|
- result = JSONObject.parseObject(response.body());
|
|
|
- ja.addAll(result.getJSONArray("data"));
|
|
|
- break;
|
|
|
- } catch (HttpStatusException hse) {
|
|
|
- generateIkoaToken(ikoaConstantMap, proxy);
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("IKOA DownloadLog异常,ikoaConstantMap={},result={}", ikoaConstantMap, result.toString(), e);
|
|
|
- if (i == 2) {
|
|
|
- throw new Exception("IKOA DownloadLog异常!");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ params.put("keyword", keyword);
|
|
|
+ params.put("orderField", orderField);
|
|
|
+ params.put("order", order);
|
|
|
+ List<CrawlerIkoaDownloadLog> crawlerIkoaDownloadLogList = crawlerIkoaDownloadLogMapper.findIkoaDownloadLog4MultipleParams(params);
|
|
|
|
|
|
- parseIkoaMovieDownloadLog(ja, sb, sort);
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
+ parseIkoaMovieDownloadLog(crawlerIkoaDownloadLogList, pic, sb);
|
|
|
|
|
|
return sb.toString();
|
|
|
}
|
|
|
@@ -551,7 +459,6 @@ public class CrawlerServiceImpl implements CrawlerService {
|
|
|
}
|
|
|
|
|
|
Connection.Response response;
|
|
|
- StringBuffer sb = new StringBuffer();
|
|
|
JSONObject result = null;
|
|
|
|
|
|
// 查全部
|
|
|
@@ -571,15 +478,13 @@ public class CrawlerServiceImpl implements CrawlerService {
|
|
|
.method(Connection.Method.GET)
|
|
|
.execute();
|
|
|
result = JSONObject.parseObject(response.body());
|
|
|
- if (isDel == 1) {
|
|
|
- ja.addAll(result.getJSONArray("data"));
|
|
|
- }
|
|
|
+ ja.addAll(result.getJSONArray("data"));
|
|
|
totalPage = result.getInteger("total_page");
|
|
|
break;
|
|
|
} catch (HttpStatusException hse) {
|
|
|
generateIkoaToken(ikoaConstantMap, proxy);
|
|
|
} catch (Exception e) {
|
|
|
- log.error("jsoup IKOA DownloadLog异常,ikoaConstantMap={},result={}", ikoaConstantMap, result.toString(), e);
|
|
|
+ log.error("jsoup IKOA DownloadLog异常,ikoaConstantMap={},result={}", ikoaConstantMap, result, e);
|
|
|
if (i == 2) {
|
|
|
throw new Exception("jsoup IKOA DownloadLog异常!");
|
|
|
}
|
|
|
@@ -588,7 +493,7 @@ public class CrawlerServiceImpl implements CrawlerService {
|
|
|
// 查后面的
|
|
|
if (totalPage > 1) {
|
|
|
outer:
|
|
|
- for (int j = totalPage; j <= 2; j--) {
|
|
|
+ for (int j = totalPage; j > 1; j--) {
|
|
|
for (int k = 0; k < 3; k++) {
|
|
|
try {
|
|
|
response = Jsoup.connect(ikoaConstantMap.get("download_log_url"))
|
|
|
@@ -613,7 +518,7 @@ public class CrawlerServiceImpl implements CrawlerService {
|
|
|
} catch (HttpStatusException hse) {
|
|
|
generateIkoaToken(ikoaConstantMap, proxy);
|
|
|
} catch (Exception e) {
|
|
|
- log.error("jsoup IKOA DownloadLog异常,ikoaConstantMap={},result={}", ikoaConstantMap, result.toString(), e);
|
|
|
+ log.error("jsoup IKOA DownloadLog异常,ikoaConstantMap={},result={}", ikoaConstantMap, result, e);
|
|
|
if (k == 2) {
|
|
|
throw new Exception("jsoup IKOA DownloadLog异常!");
|
|
|
}
|
|
|
@@ -655,24 +560,25 @@ public class CrawlerServiceImpl implements CrawlerService {
|
|
|
return jsonObject;
|
|
|
}
|
|
|
|
|
|
- private void parseIkoaMovieDownloadLog(JSONArray result, StringBuffer sb, String sort) {
|
|
|
+ private void parseIkoaMovieDownloadLog(List<CrawlerIkoaDownloadLog> result, Integer pic, StringBuffer sb) {
|
|
|
sb.append("total:".concat(String.valueOf(result.size())));
|
|
|
sb.append("<table border=\"1\" cellspacing=\"0\"><tr><th>序号</th><th>cid</th><th>封面</th><th>User-Agent</th><th>影片当前状态</th><th>下载记录创建时间</th><th>最后一次修改时间</th></tr>");
|
|
|
|
|
|
- if ("desc".equals(sort)) {
|
|
|
- Collections.reverse(result);
|
|
|
- }
|
|
|
for (int i = 0; i < result.size(); i++) {
|
|
|
- JSONObject jsonObject = result.getJSONObject(i);
|
|
|
+ CrawlerIkoaDownloadLog crawlerIkoaDownloadLog = result.get(i);
|
|
|
sb.append("<tr>");
|
|
|
|
|
|
sb.append("<td>").append(i + 1).append("</td>");
|
|
|
- sb.append("<td>").append(jsonObject.getString("product_id")).append("</td>");
|
|
|
- sb.append("<td>").append("<img src=\"" + jsonObject.getString("package_image") + "\" alt=\"封面\" width=\"147\" height=\"auto\">").append("</td>");
|
|
|
- sb.append("<td>").append(jsonObject.getString("ua")).append("</td>");
|
|
|
- sb.append("<td>").append(jsonObject.getInteger("status")).append("</td>");
|
|
|
- sb.append("<td>").append(jsonObject.getString("created")).append("</td>");
|
|
|
- sb.append("<td>").append(jsonObject.getString("updated")).append("</td>");
|
|
|
+ sb.append("<td>").append(crawlerIkoaDownloadLog.getCid()).append("</td>");
|
|
|
+ if (1 == pic) {
|
|
|
+ sb.append("<td>").append("--").append("</td>");
|
|
|
+ } else {
|
|
|
+ sb.append("<td>").append("<img src=\"" + crawlerIkoaDownloadLog.getPackageImage() + "\" alt=\"封面\" width=\"147\" height=\"auto\">").append("</td>");
|
|
|
+ }
|
|
|
+ sb.append("<td>").append(crawlerIkoaDownloadLog.getUa()).append("</td>");
|
|
|
+ sb.append("<td>").append(crawlerIkoaDownloadLog.getStatus()).append("</td>");
|
|
|
+ sb.append("<td>").append(crawlerIkoaDownloadLog.getCreateTime()).append("</td>");
|
|
|
+ sb.append("<td>").append(crawlerIkoaDownloadLog.getModifyTime()).append("</td>");
|
|
|
|
|
|
sb.append("</tr>");
|
|
|
}
|