From ab35ac8b769b2d9816dffb33a64f2c6f7bd5dd6e Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 05 九月 2024 17:05:55 +0800 Subject: [PATCH] 风行网页版爬虫 --- src/main/java/com/yeshi/buwan/service/imp/juhe/HanmiServiceImpl.java | 184 ++++++--------------------------------------- 1 files changed, 26 insertions(+), 158 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/juhe/HanmiServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/juhe/HanmiServiceImpl.java index 7b1dc6a..9d66692 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/juhe/HanmiServiceImpl.java +++ b/src/main/java/com/yeshi/buwan/service/imp/juhe/HanmiServiceImpl.java @@ -1,24 +1,17 @@ package com.yeshi.buwan.service.imp.juhe; -import com.yeshi.buwan.dao.VideoInfoDao; import com.yeshi.buwan.dao.juhe.hanmi.HanmiShowDao; import com.yeshi.buwan.dao.juhe.hanmi.HanmiShowEpisodeDao; import com.yeshi.buwan.dao.juhe.hanmi.VideoHanmiMapDao; -import com.yeshi.buwan.dao.video.AlbumVideoMapDao; -import com.yeshi.buwan.domain.AdminInfo; import com.yeshi.buwan.domain.VideoDetailInfo; -import com.yeshi.buwan.domain.VideoInfo; import com.yeshi.buwan.domain.VideoResource; import com.yeshi.buwan.domain.entity.PlayUrl; -import com.yeshi.buwan.domain.video.AlbumVideoMap; -import com.yeshi.buwan.service.imp.CategoryVideoService; -import com.yeshi.buwan.service.imp.ResourceVideoService; -import com.yeshi.buwan.service.imp.VideoInfoService; +import com.yeshi.buwan.domain.video.InternetSearchVideo; import com.yeshi.buwan.service.imp.VideoResourceService; import com.yeshi.buwan.service.inter.juhe.HanmiService; +import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService; import com.yeshi.buwan.util.StringUtil; -import com.yeshi.buwan.util.TimeUtil; -import com.yeshi.buwan.util.mq.CMQManager; +import com.yeshi.buwan.util.factory.InternetSearchVideoFactory; import com.yeshi.buwan.videos.hanmi.HanmiUtil; import com.yeshi.buwan.videos.hanmi.entity.HanmiShow; import com.yeshi.buwan.videos.hanmi.entity.HanmiShowEpisode; @@ -26,9 +19,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.io.Serializable; import java.util.ArrayList; -import java.util.Calendar; import java.util.Date; import java.util.List; @@ -44,22 +35,11 @@ private VideoHanmiMapDao videoHanmiMapDao; @Resource - private VideoInfoService videoInfoService; - - @Resource - private VideoInfoDao videoInfoDao; - - @Resource - private ResourceVideoService resourceVideoService; - - @Resource - private CategoryVideoService categoryVideoService; + private InternetSearchVideoService internetSearchVideoService; @Resource private VideoResourceService videoResourceService; - @Resource - private AlbumVideoMapDao albumVideoMapDao; public List<VideoDetailInfo> getVideoDetailList(String videoId, int page, int pageSize) { //鏌ヨ涓撹緫 @@ -111,81 +91,19 @@ } @Override - public void addToVideoInfo(HanmiShow show) { - + public void addToInternetSearch(HanmiShow show) throws Exception { if (StringUtil.isNullOrEmpty(show.getTitle())) { return; } - - VideoInfo newVideoInfo = convertShowToVideoInfo(show); - VideoHanmiMap map = videoHanmiMapDao.selectByShowId(show.getId()); - if (map != null) {//娓犻亾瑙嗛宸茬粡瀛樺湪 - VideoInfo videoInfo = videoInfoService.getVideoInfo(map.getVideoId() + ""); - if (videoInfo == null) - return; - newVideoInfo.setId(videoInfo.getId()); - if (!newVideoInfo.getTag().equalsIgnoreCase(videoInfo.getTag()) || newVideoInfo.getVideocount() != videoInfo.getVideocount()) { - newVideoInfo.setCreatetime(videoInfo.getCreatetime()); - //鏇存柊淇℃伅tag淇℃伅 - videoInfo.setLatestHpicture(newVideoInfo.getLatestHpicture()); - videoInfo.setLatestVpicture(newVideoInfo.getLatestVpicture()); - videoInfo.setVideocount(newVideoInfo.getVideocount()); - videoInfo.setTag(newVideoInfo.getTag()); - videoInfo.setPicture(newVideoInfo.getPicture()); - videoInfo.setHpicture(newVideoInfo.getHpicture()); - videoInfo.setVpicture(newVideoInfo.getVpicture()); - videoInfo.setShow(newVideoInfo.getShow()); - videoInfo.setVideoType(newVideoInfo.getVideoType()); - videoInfo.setUpdatetime(newVideoInfo.getUpdatetime()); - videoInfoService.update(videoInfo); - } - } else {//瑙嗛涓嶅瓨鍦� - //鍒ゆ柇2涓棰戝疄浣撴槸鍚︿负鍚屼竴瑙嗛 - VideoInfo oldVideo = videoInfoService.getExistSameVideoWithTime(newVideoInfo); - if (oldVideo == null) { - //娣诲姞瑙嗛 - Serializable id = videoInfoService.save(newVideoInfo); - newVideoInfo.setId(id + ""); - } else {//涓哄悓涓�瑙嗛 - //鏇存柊tag - newVideoInfo.setId(oldVideo.getId()); - oldVideo.setLatestHpicture(newVideoInfo.getLatestHpicture()); - oldVideo.setLatestVpicture(newVideoInfo.getLatestVpicture()); - oldVideo.setVideocount(newVideoInfo.getVideocount()); - oldVideo.setTag(newVideoInfo.getTag()); - oldVideo.setPicture(newVideoInfo.getPicture()); - oldVideo.setHpicture(newVideoInfo.getHpicture()); - oldVideo.setVpicture(newVideoInfo.getVpicture()); - oldVideo.setShow(newVideoInfo.getShow()); - oldVideo.setVideoType(newVideoInfo.getVideoType()); - oldVideo.setUpdatetime(newVideoInfo.getUpdatetime()); - videoInfoService.update(oldVideo); - } - - //鍔犲叆涓撹緫瑙嗛鏄犲皠 - AlbumVideoMap vmap = new AlbumVideoMap(); - vmap.setId(newVideoInfo.getId()); - vmap.setCreateTime(new Date()); - vmap.setVideoId(newVideoInfo.getId()); - vmap.setRootVideoType(newVideoInfo.getVideoType().getId()); - vmap.setVideoCount(newVideoInfo.getVideocount()); - albumVideoMapDao.save(vmap); - - - //鍔犲叆鏄犲皠 - VideoHanmiMap vi = new VideoHanmiMap(); - vi.setShowId(show.getId()); - vi.setVideoId(newVideoInfo.getId()); - videoHanmiMapDao.save(vi); + InternetSearchVideo video = InternetSearchVideoFactory.create(show); + if (internetSearchVideoService.save(video) == null) { + return; } - - //娣诲姞瑙嗛鏉ユ簮鏄犲皠 - resourceVideoService.addVideoResource(newVideoInfo.getId(), HanmiUtil.RESOURCE_ID + ""); - //娣诲姞瑙嗛鍒嗙被鏄犲皠 - categoryVideoService.addCategoryVideo(newVideoInfo.getId(), newVideoInfo.getVideoType().getId()); - - //鍔犲叆涓撹緫鎼滅储寮曟搸 - CMQManager.getInstance().addSolrMsg(newVideoInfo.getId()); + VideoHanmiMap map = new VideoHanmiMap(); + map.setShowId(show.getId()); + map.setVideoId(video.getId()); + map.setCreateTime(new Date()); + videoHanmiMapDao.save(map); } @Override @@ -211,69 +129,12 @@ if (map != null) { HanmiShow show = hanmiShowDao.get(map.getShowId()); if (show != null) { - if ("闊╁墽".equalsIgnoreCase(show.getType())) { + if ("鐢佃鍓�".equalsIgnoreCase(show.getType())) { return 2; } } } return 1; - } - - @Override - public VideoInfo convertShowToVideoInfo(HanmiShow show) { - Calendar ca = Calendar.getInstance(); - ca.setTimeInMillis(TimeUtil.convertGernalTime(show.getRelaseDate(), "yyyy-MM-dd")); - int day = ca.get(Calendar.DAY_OF_MONTH); - int month = ca.get(Calendar.MONTH) + 1; - int year = ca.get(Calendar.YEAR); - - VideoInfo video = new VideoInfo(); - video.setArea(show.getArea()); - video.setBaseurl(show.getUrl()); - video.setCanSave(false); - video.setCommentCount(0); - video.setCreatetime(System.currentTimeMillis()); - video.setDay(day + ""); - video.setYear(year + ""); - video.setMonth(month + ""); - video.setDirector(show.getDirector()); - video.setFinish("1"); - video.setIntroduction(show.getDesc()); - video.setMainActor(show.getActors()); - video.setName(show.getTitle()); - video.setNowNumber(show.getEpisodeList().size() + ""); - - video.setOrderby("0" + ""); - video.setPicture(show.getPicture()); - video.setVpicture(show.getPicture()); - - video.setScore(show.getScore()); - video.setShare("0"); - video.setShow("1"); - - video.setThirdType("1"); - video.setTotalNumber("0"); - - video.setWatchCount(0 + ""); - - video.setAdmin(new AdminInfo("1")); - video.setContentType(1); - video.setCommentCount(0); - - String tag = show.getTag(); - video.setTag(tag); - - - long videoCount = show.getEpisodeList().size(); - if (videoCount == 0L) - videoCount = 1; - - video.setVideocount((int) videoCount); - - video.setUpdatetime(System.currentTimeMillis() + ""); - - video.setVideoType(HanmiUtil.getVideoType(show)); - return video; } @Override @@ -297,14 +158,11 @@ hanmiShowEpisodeDao.delete(episode.getId()); } } - - VideoHanmiMap bean = videoHanmiMapDao.selectByShowId(id); if (bean != null) { videoHanmiMapDao.delete(bean.getVideoId()); //鍒犻櫎璧勬簮 - resourceVideoService.delete(bean.getVideoId() + "", HanmiUtil.RESOURCE_ID + ""); - resourceVideoService.delete(bean.getVideoId() + "", HanmiUtil.RESOURCE_ID + ""); + internetSearchVideoService.removeResourceId(bean.getVideoId(), HanmiUtil.RESOURCE_ID); } } @@ -319,7 +177,17 @@ if (show != null) { show.setEpisodeList(hanmiShowEpisodeDao.listByShowId(id, 0, 1000)); } - return show; } + + @Override + public List<HanmiShow> listAll(int page, int pageSize) { + return hanmiShowDao.listAll((page-1)*pageSize, pageSize); + + } + + @Override + public long countAll() { + return hanmiShowDao.countAll(); + } } -- Gitblit v1.8.0