• 任务四 娱乐相关节目和娱乐人物关系代码整理


    任务四 娱乐相关节目和娱乐人物关系代码整理

    标签(空格分隔): 一找


    任务描述

    分别对娱乐相关节目和娱乐人物关系代码进行整理:
    1、娱乐相关节目代码提交到yz-dolphin-serv-crawler模块com.yeezhao.dolphin.crawler.entertainment.related下,另外在cli包增加脚本入口Cli,并在run.sh和start-entertain.sh添加程序入口。
    2、娱乐人物关系提交到yz-dolphin-serv-crawler模块com.yeezhao.dolphin.crawler.people.relation下,另外在PeopleCrawlerCli的type=relation的情况下,替换掉PeopleEntertainRelationCrawler().crawl(); run.sh不用再修改。

    流程

    1.相关节目部署

    • 加入了相关电影LIBSVM分类器的模型文件
      • 在DolphinCrawlerConsts类中加入相关电影模型文件名
    // libSVM model of related movie crawler added by chs
    public static final String FILE_RELATEDMOVIE_MODEL = "RelatedMovieClassiModel.txt";
    
    • com.yeezhao.dolphin.crawler.cli下增加了相关节目的客户端程序RelatedMovieCli,代码主要参考了同目录下的CategoryToolCli.java,添加了once和quartz参数

    • 修改了run.sh,添加了注释 echo "relatedMovie [-quartz] [-once] 启动相关节目识别"
      和程序和命令的对应关系,命令命名为relatedMovie

    elif [ "$COMMAND" = "relatedMovie" ];then
    CLASS=com.yeezhao.dolphin.crawler.cli.RelatedMovieCli

    • 添加start-relation.sh脚本,内容为

    nohup sh run.sh relatedMovie -once > related-movie.out 2>&1 &

    2.娱乐人物关系部署

    • PeopleEntertainRelationCrawler.java提交到了yz-dolphin-serv-crawler模块com.yeezhao.dolphin.crawler.people.relation
    • 修改PeopleCrawlerCli.java,在execute()方法中加入一个relation参数,为我们的程序添加一个入口
        @Override
        public void execute() {
    		LOG.info("execute");
    		Configuration conf = DolphinCrawlerConf.getInstance();
    		try {
    			if ("tag".equals(type)) {
    				new PeopleTagCrawler(conf).crawl();
    			} else if ("outlink".equals(type)) {
    				new PeopleOutlinkCrawler(conf).crawl();
    			} else if ("data".equals(type)) {
    				new PeopleDataCrawler().crawl();
    			} else if ("relation".equals(type)) {
    				new PeopleEntertainRelationCrawler().crawl();
    			} else if ("all".equals(type)) {
    				new PeopleAllHideCrawler().crawl();
    			} else if ("baike".equals(type)) {
    				new AllBaikeCrawler().crawl();
    			} else if ("analyz".equals(type)) {				
    				new PeopleRelationAnalyz().crawl();
    				new PeopleSexAnalyz().analyz();
    				new PeopleBidirectionalRelation().analyz();
    			} else if ("count".equals(type)) {
    				new PeoplePropertiesCount().crawl();
    			} else if ("coverimage".equals(type)) {
    				new PeopleCoverImageCrawler().crawl();
    			} else if ("delete".equals(type)) {
    				new ClearRelation().clear();
    			} else if ("test".equals(type)) {
    				new PeopleIdentityAnalyze().crawl();
    			}
    			else {
    				LOG.error("type is not found: " + type);
    				return;
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		LOG.info("all done!");
    	}
    
  • 相关阅读:
    一个较为健壮的下单方案
    [缓存]数据库事务环境下表级缓存的更新问题
    “Java是编译执行的语言”这句话对吗?
    分布式服务的幂等性设计
    [ java 工具类] xml字符串解析成Map(DOM解析)
    抽奖系统的流量削峰方案
    从一次线上故障思考Java问题定位思路
    关于JVM内存的N个问题
    Java多线程编程—锁优化
    Java锁机制(一)synchronized
  • 原文地址:https://www.cnblogs.com/wacc/p/5038850.html
Copyright © 2020-2023  润新知