Commit df3b2479 by chenweitao

Merge branch 'working' into 'master'

只执行一次淘宝爬取

See merge request !118
parents 6c7f22dd b2fac422
......@@ -2,14 +2,24 @@ package com.zhiwei.searchhotcrawler.run;
import com.zhiwei.crawler.core.proxy.ProxyFactory;
import com.zhiwei.proxy.config.SimpleConfig;
import com.zhiwei.searchhotcrawler.bean.HotSearchList;
import com.zhiwei.searchhotcrawler.bean.HotSearchType;
import com.zhiwei.searchhotcrawler.cache.CacheListener;
import com.zhiwei.searchhotcrawler.config.ProxyConfig;
import com.zhiwei.searchhotcrawler.crawler.TaoBaoHotSearchCrawler;
import com.zhiwei.searchhotcrawler.timer.*;
import com.zhiwei.searchhotcrawler.timer.quartz.GatherTimer;
import com.zhiwei.searchhotcrawler.util.DateUtils;
import com.zhiwei.searchhotcrawler.util.TipsUtils;
import com.zhiwei.tools.tools.ZhiWeiTools;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.Date;
import java.util.List;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
......@@ -60,5 +70,13 @@ public class HotSearchRun {
// new ThreadOneRun().start();
//// //抖音链接更新
// new DouYinUrlHotSearchRun().start();
//启动淘宝程序
Logger logger = LoggerFactory.getLogger(GatherTimer.class);
logger.info("淘宝热搜开始采集...");
Date date = DateUtils.getMillSecondTime(new Date());
List<HotSearchList> taoBaoList = TaoBaoHotSearchCrawler.taoBaoHotSearch(date);
logger.info("{}, 淘宝热搜此轮采集到的数据量为:{}", new Date(), taoBaoList != null ? taoBaoList.size() : 0);
TipsUtils.addHotList(HotSearchType.淘宝热搜.name(), taoBaoList);
logger.info("淘宝热搜采集结束...");
}
}
......@@ -18,13 +18,20 @@ public class TaoBaoUtils {
//1.得到脚本引擎
ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
try {
InputStream in = null;
try {
in = TaoBaoUtils.class.getClassLoader().getResourceAsStream("taobao.js");
//如果js存在文件里
Resource aesJs = new ClassPathResource("/taobao.js",TaoBaoUtils.class.getClassLoader());
log.info("获取aesJs: {}",aesJs);
InputStream inputStream = aesJs.getInputStream();
// engine.eval(new BufferedReader(new InputStreamReader(inputStream)));
engine.eval(new BufferedReader(new InputStreamReader(inputStream))
.lines().parallel().collect(Collectors.joining(System.lineSeparator())));
//Resource aesJs = new ClassPathResource("taobao.js",TaoBaoUtils.class.getClassLoader());
//InputStream inputStream = aesJs.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(in);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
engine.eval(bufferedReader);
} finally {
in.close();
}
// engine.eval(new BufferedReader(new InputStreamReader(inputStream))
// .lines().parallel().collect(Collectors.joining(System.lineSeparator())));
//3.将引擎转换为Invocable,这样才可以掉用js的方法
Invocable invocable = (Invocable) engine;
//4.使用 invocable.invokeFunction掉用js脚本里的方法,第一個参数为方法名,后面的参数为被调用的js方法的入参
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment