首先创建一个java项目 ,这里由于抽数需要,取响应Cookies
import java.io.IOException;
import java.util.Map;
import java.util.Map.Entry;
import org.jsoup.Connection;
import org.jsoup.Connection.Method;
import org.jsoup.Connection.Response;
import org.jsoup.Jsoup;
public class JsoupTest {
public static void main(String[] args) throws IOException {
JsoupTest jt = new JsoupTest();
jt.returnCookies();
}
public static final String returnCookies() {
try {
Connection conn = Jsoup.connect("https://baidu.com");
conn.method(Method.GET);
conn.followRedirects(false);
Response response;
response = conn.execute();
Map<String, String> getCookies = response.cookies();
// System.out.println(getCookies.toString());
return getCookies.toString();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
完成之后导出jar包 放到kettle 的lib目录下
之后重启kettle.
import com.XXX.getCookies.JsoupTest;
//add by libbytian
//此次调用的方法 需要再次百度学习
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException
{
Object[] r = getRow();
if (r == null) {
setOutputDone();
return false;
}
if (first)
{
first = false;
}
//调用jar
// String foobar = get(Fields.In, "Key").getString(r); //输入参数
JsoupTest jt = new JsoupTest ();
String foobar = jt.returnCookies();
// foobar += json;
get(Fields.Out, "Key").setValue(r, foobar);
//获取参数
// String ValueField = getParameter("Value");
// get(Fields.Out, "Value").setValue(r, ValueField); //输出参数
// Send the row on to the next step.
putRow(data.outputRowMeta, r);
return true;
}
运行即可出一条Cookie 记录 。