pull/171/head
FongMi 2 years ago
parent cfc76fe2af
commit 6ad8726f6c
  1. 10
      quickjs/src/main/assets/js/lib/spider.js
  2. 8
      quickjs/src/main/java/com/fongmi/quickjs/crawler/Spider.java

@ -0,0 +1,10 @@
import * as spider from '%s'
if (!globalThis.__JS_SPIDER__) {
if (spider.__jsEvalReturn) {
globalThis.req = http
globalThis.__JS_SPIDER__ = spider.__jsEvalReturn()
} else if (spider.default) {
globalThis.__JS_SPIDER__ = typeof spider.default === 'function' ? spider.default() : spider.default
}
}

@ -209,13 +209,11 @@ public class Spider extends com.github.catvod.crawler.Spider {
String spider = "__JS_SPIDER__";
String global = "globalThis." + spider;
String content = Module.get().fetch(api);
if (content.startsWith("//bb")) ctx.execute(Module.get().bb(content), spider);
else ctx.evaluateModule(content.replace(spider, global), api);
ctx.evaluateModule(String.format(Path.asset("js/lib/spider.js"), api));
if (content.startsWith("//bb") || content.contains(jsEval)) cat = true;
if (content.startsWith("//bb")) ctx.execute(Module.get().bb(content), spider, jsEval);
else if (content.contains(jsEval)) ctx.evaluateModule(content, api, jsEval);
else if (content.contains(spider)) ctx.evaluateModule(content.replace(spider, global), api);
else ctx.evaluateModule(content.replaceAll("export default.*?[{]", global + " = {"), api);
jsObject = (JSObject) ctx.getProperty(ctx.getGlobalObject(), spider);
if (cat) ctx.evaluate("req = http");
}
private JSObject cfg(String ext) {

Loading…
Cancel
Save