今天在写老师布置的WebMagic爬虫课题时,遇到了一个奇怪的问题,话不多说,我把简化的代码贴一下
@Component
public class tester implements PageProcessor {
@Autowired
public DataComparer dataComparer;
@Override
public void process(Page page) {
System.out.println(dataComparer);
}
public Site site = Site.me()
.setCharset("utf-8")
.setSleepTime(1);
@Override
public Site getSite() {
return site;
}
@Scheduled(initialDelay = 1000, fixedRate = 1000)
public void compare() {
System.out.println(dataComparer);
Spider.create(new tester()).addUrl("http://www.sse.com.cn/disclosure/listedinfo/bulletin/s_docdatesort_desc_2019openpdf.htm").run();
}
}
dataCompare是一个数据对比的类,
问题来了:
在创建Spider的定时方法中输出dataCompare是有对象的。
但是在重写方法process中输出dataCompare则包空指针异常,导致我页面解析时无法完成数据比对的功能。
跪求大佬指点迷津。
我验证下process中是可以取到注入的DataComparer对象的