首页 > 编程语言 >java爬虫笔记:使用WebCollector增量采集www.baiduyunsousou.com

java爬虫笔记:使用WebCollector增量采集www.baiduyunsousou.com

时间:2022-12-08 11:01:28浏览次数:49  
标签:www deepCrawlerThread java baiduyunsousou crawlerConfig CrawlerConfig crawlerCon

WebCollector可以配置短点爬取,历史数据根据Key去重,也就是url

 

最近在采集百度云网盘,记录一下

 

/**
 * @author Liu
 * @create 2022-08-02 11:48
 */
@Component
@Slf4j
public class DeepCrawler extends BaseCrawler {

    private CrawlerConfig crawlerConfig;

    @Override
    public void execute() {
        List<CrawlerConfig> crawlerConfigs = new ArrayList<>();
        if (this.crawlerConfig != null) {
            crawlerConfigs.add(this.crawlerConfig);
        } else {
            crawlerConfigs = this.crawlerConfigService.getDeepCrawlerConfig();
        }

        super.initCrawlerConfig(crawlerConfigs);

        //多站点多线程爬取
        for (CrawlerConfig config : crawlerConfigs) {
            try {
                if (SimpleCrawlerStoreMap.deepCrawlerThreadMap.get(config.getId()) == null) {
                    simpleCrawlerPool.execute(() -> {
                        DeepCrawlerThread deepCrawlerThread = new DeepCrawlerThread(config);
                        SimpleCrawlerStoreMap.deepCrawlerThreadMap.put(config.getId(), deepCrawlerThread);
                        deepCrawlerThread.setNextFilter(new HashSetNextFilter());
                        try {
                            deepCrawlerThread.start(config.getDeep());
                        } catch (Exception e) {
                            e.printStackTrace();
                            log.error(config.getSiteName() + "=>爬取任务异常");
                            log.error(e.getMessage(), e);
                        }
                    });

                } else {
                    log.info(config.getSiteName() + "=>爬取任务进行中……");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }


    public CrawlerConfig getCrawlerConfig() {
        return crawlerConfig;
    }

    public void setCrawlerConfig(CrawlerConfig crawlerConfig) {
        this.crawlerConfig = crawlerConfig;
    }


}

  

标签:www,deepCrawlerThread,java,baiduyunsousou,crawlerConfig,CrawlerConfig,crawlerCon
From: https://www.cnblogs.com/xibb/p/16965488.html

相关文章

  • java for执行顺序
     for(intj=0;j<size;j++){//执行todo} 第一步:j=0;j<size;第二步: todo第三步: j++ ;j<size;第四步:todo 第五步:j++ ;j<size;第六步:todo每一步......
  • java-net-php-python-s2s酒店管理系统计算机毕业设计程序
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • 《悟透javascript》学习笔记:四、函数的魔力
    引言 JavaScript的代码就只有function一种形式,function就是函数的类型。也许其他编程语言还有procedure或method等代码概念,但在JavaScript里只有function一种形......
  • 10、java反射机制
    1、 什么是反射机制正常情况下,我们通过类来创建对象。如果反过来,我们要通过一个对象来找到对应的类,怎么办,这时就要用到反射机制。  2、 java.lang.Class类a)    ......
  • 再读《悟透javascript》之四、贪吃蛇
    前言     贪吃蛇是个很简单的小游戏,但是却很有趣,下面是我用JavaScript写的一个贪吃蛇的代码:  代码如下:   <htmlxmlns="http://www.w3.org/1999/xhtml"><headr......
  • 《悟透javascript》学习笔记:一、前言
    《悟透JavaScript》学习笔记  这是一本很形象生动的书,使我们可以更深地了解了JavaScript。 引言   编程世界里只存在两种基本元素,一个是数据,一个是代码。编程世界就......
  • 《悟透javascript》学习笔记:二、回归简单
    引言 要理解JavaScript,你得首先放下对象和类的概念,回到数据和代码的本原。前面说过,编程世界只有数据和代码两种基本元素,而这两种元素又有着纠缠不清的关系。JavaScript就......
  • 9、java类集
    类集是java中极其重要的是一个特性 常用集合接口1、 Collection接口,集合接口,用来存储一组对象,基于此接口又扩展了List(允许重复)、Set(不允许重复)等接口2、 Map接口,键值对......
  • 《悟透javascript》学习笔记:三、似类却不是类
    引言 JavaScript没有“类”的概念!这让很多学习过高级语言的人感到很不爽,其实比之于C语言又如何呢?显然JavaScript要比C语言好用很多。 不废话,上代码 <scriptlanguage="j......
  • 再读《悟透javascript》之三、甘露模型
    前言     甘露模型是用于开发基于javascript的类库的,通过它,我们可以以类似C#等面向对象的语言式的模式来开发javascript类库,这将使你的javascript代码变得清晰有条理......