怎样使用jfinal框架启动爬虫

如题,本人在开发网站时需要一些数据,于是想到写一个爬虫直接去网上爬取,爬虫使用的webmagic框架,如下

(){
    Spider.(InfoProcessor())
            .addUrl()
            .setScheduler(QueueScheduler().setDuplicateRemover(BloomFilterDuplicateRemover()))
            .thread()
            .addPipeline(.)
            .run()}

这里是爬虫运行的入口,我的想法是启动项目爬虫就会自动运行,但是具体不知道如何实现。

于是我又想到通过页面请求的方式执行:/spider/start,为此我又写了一个controller

SpiderController Controller {

        InfoProcessor = InfoProcessor()(){
            .process()render()}

}

但还是没用,请波总指教@jfinal

评论区

JFinal

2020-01-30 11:45

在 YourJFinalConfig extend JFinalConfig 中添加一个
public void onStart() {
这里是启动爬虫的代码
}

如果爬虫启动时会阻塞线程,需要在开启一个新的线程启动它

好好学习1111

2020-01-30 14:47

@JFinal 这里spider.thread(5)这里已经开启了多线程了,那为什么还要我在onstart里面再加一个线程呢?还有就是我开启了项目,确实堵塞了,我该怎么加多线程呢?

JFinal

2020-01-30 17:59

@好好学习1111 方法如下:
public void onStart() {
new Thread(() -> {
这里放的代码会在新线程中执行
}).start();
}

热门反馈

扫码入社