Commit f1d5e297 authored by yihua.huang's avatar yihua.huang

add scripts

parent 4cd3e1d8
package us.codecraft.webmagic.scripts;
import org.apache.commons.io.IOUtils;
import sun.org.mozilla.javascript.internal.NativeObject;
import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.processor.PageProcessor;
......@@ -11,6 +12,7 @@ import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
/**
* @author code4crafter@gmail.com
......@@ -51,6 +53,19 @@ public class ScriptProcessor implements PageProcessor {
context.setAttribute("config", site, ScriptContext.ENGINE_SCOPE);
try {
engine.eval(defines + "\n" + script, context);
switch (language) {
case JavaScript:
NativeObject o = (NativeObject) engine.get("result");
if (o != null) {
for (Map.Entry<Object, Object> objectObjectEntry : o.entrySet()) {
page.getResultItems().put(objectObjectEntry.getKey().toString(), objectObjectEntry.getValue());
}
}
break;
case JRuby:
Object o1 = engine.get("result");
break;
}
} catch (ScriptException e) {
e.printStackTrace();
}
......
title = css "div.BlogTitle h1"
content = css "div.BlogContent"
urls "http://my\\.oschina\\.net/flashsword/blog/\\d+"
\ No newline at end of file
puts title
puts content
\ No newline at end of file
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