SimplePageProcessor.java 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package com.zhiqiyun;
  2. import com.zhiqiyun.open.core.models.sentiment.SentimentSpiderSiteRule;
  3. import lombok.extern.slf4j.Slf4j;
  4. @Slf4j
  5. public class SimplePageProcessor {
  6. public static void main(String[] args) {
  7. SentimentSpiderSiteRule rule = new SentimentSpiderSiteRule();
  8. rule.setStartUrls("https://www.188420.com/");
  9. // rule.setUrlPatterns("https://www.188420.com/a/([0-9]+).html");
  10. // rule.setXpath("/html/body/div[3]/div[1]/div[1]");
  11. String[] startUrlArray = rule.getStartUrls().split("\n");
  12. // Spider spider = Spider.create(new SentimentSpiderEventServiceImpl.SpiderEventProcessor(rule));
  13. //
  14. //
  15. // List<Pipeline> pipelines = new ArrayList<>();
  16. // pipelines.add((resultItems, task) -> {
  17. // Map<String, Object> dataMap = resultItems.getAll();
  18. //
  19. // String url = resultItems.getRequest().getUrl();
  20. // String id = DigestUtils.md5Hex(url.replace("http://", "").replace("https://", ""));
  21. //
  22. // String title = dataMap.getOrDefault("title", "").toString();
  23. // String keywords = dataMap.getOrDefault("keywords", "").toString();
  24. // String description = dataMap.getOrDefault("description", "").toString();
  25. // String bodyText = dataMap.getOrDefault("bodyText", "").toString();
  26. // String html = dataMap.getOrDefault("html", "").toString();
  27. // List<String> listFragments = JSON.parseArray(dataMap.getOrDefault("listFragments", "[]").toString(), String.class);
  28. //
  29. // String[] listKeywords = new String[]{"十三届五次会", "习近平"};
  30. //
  31. // boolean flag = true;
  32. // for (String keyword : listKeywords) {
  33. // if (!bodyText.contains(keyword)) {
  34. // flag = false;
  35. // break;
  36. // }
  37. // }
  38. //
  39. // listFragments.removeIf(o -> {
  40. // boolean hasContains = false;
  41. // for (String keyword : listKeywords) {
  42. // if (o.contains(keyword)) {
  43. // hasContains = true;
  44. // break;
  45. // }
  46. // }
  47. // return !hasContains;
  48. // });
  49. //
  50. // log.info("{}>>>>>>>>{}>>>>>>>>{}>>>>>>>>{}", url, flag, listFragments.size(), bodyText);
  51. // });
  52. // spider.setPipelines(pipelines);
  53. // spider.setExitWhenComplete(true);
  54. // spider.addUrl(startUrlArray);
  55. // OkHttpClient.Builder builder = new OkHttpClient.Builder();
  56. // builder.connectTimeout(30, TimeUnit.SECONDS);
  57. // spider.setDownloader(new OkHttpDownloader());
  58. // spider.runAsync();
  59. }
  60. }