根据最新的电影数据结构修改
This commit is contained in:
parent
dcceb648d1
commit
8fcd8d1ae0
@ -6,21 +6,9 @@ const Movies = new Schema({
|
||||
gid: {type: Number, required: true},
|
||||
// 电影名
|
||||
name: {type: String},
|
||||
name_alias: {type: String},
|
||||
/**
|
||||
科幻片: 1
|
||||
喜剧片: 2
|
||||
剧情片: 3
|
||||
动作片: 4
|
||||
动漫: 5
|
||||
恐怖片: 6
|
||||
爱情片: 7
|
||||
动画片: 8
|
||||
悬疑片: 9
|
||||
战争片: 10
|
||||
其他: 11
|
||||
* */
|
||||
type: {type: Number},
|
||||
nameAlias: {type: String},
|
||||
// 类型
|
||||
type: [{type: String}],
|
||||
// 电影评分
|
||||
score: {type: Number},
|
||||
// 电影介绍
|
||||
@ -29,9 +17,9 @@ const Movies = new Schema({
|
||||
language: {type: String},
|
||||
img: {type: String},
|
||||
// 导演
|
||||
daoYan: {type: String},
|
||||
daoYan: [{type: String}],
|
||||
// 主演
|
||||
zhuYan: {type: String},
|
||||
zhuYan: [{type: String}],
|
||||
// 资源
|
||||
resources: [{
|
||||
_id: false,
|
||||
@ -39,7 +27,7 @@ const Movies = new Schema({
|
||||
link: {type: String},
|
||||
}],
|
||||
// 地区
|
||||
region: {type: String},
|
||||
region: [{type: String}],
|
||||
// 年份
|
||||
year: {type: Number},
|
||||
// 真实的播放数量
|
||||
|
@ -1,7 +1,8 @@
|
||||
import netUtil from "../utils/net.util";
|
||||
import cheerio from "cheerio";
|
||||
import stringUtil from '../utils/string.util';
|
||||
import SpiderDataModel from "../models/SpiderData";
|
||||
import SpiderData from "../models/SpiderData";
|
||||
import Movie from '../models/Movies';
|
||||
import generalQueue from '../utils/general.queue';
|
||||
|
||||
const parseOnePage = async (subLink) => {
|
||||
@ -30,7 +31,7 @@ const parseOnePage = async (subLink) => {
|
||||
releaseDate: $('meta[property="og:video:release_date"]').attr('content'),
|
||||
type: $('meta[property="og:video:class"]').attr('content')
|
||||
}
|
||||
let sdata = new SpiderDataModel({
|
||||
let sdata = new SpiderData({
|
||||
type: 'movie',
|
||||
data: obj,
|
||||
status: 0
|
||||
@ -89,9 +90,50 @@ const parseAllMovie = async () => {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 将下载的电影导入到正式表中
|
||||
const parseAllMovieToDb = async () => {
|
||||
try {
|
||||
let list = await SpiderData.find({type: 'movie'});
|
||||
for (let obj of list) {
|
||||
let data = obj.data;
|
||||
let typeArr = data.type.split(',');
|
||||
let resourceStr = data.playResourceUrl;
|
||||
let arr = resourceStr.replace(/\|/g, '#').split('#');
|
||||
let resourceArr = [];
|
||||
for (let str of arr) {
|
||||
resourceArr.push({
|
||||
title: str.substring(0, str.indexOf('$')),
|
||||
link: str.substring(str.indexOf('$') + 1)
|
||||
})
|
||||
}
|
||||
let record = new Movie({
|
||||
gid: data.id,
|
||||
name: data.name,
|
||||
nameAlias: data.name_alias,
|
||||
type: typeArr,
|
||||
score: data.grade,
|
||||
introduce: data.introduce,
|
||||
language: data.language,
|
||||
img: data.img,
|
||||
daoYan: data.daoYan.split(','),
|
||||
zhuYan: data.zhuYan.split(','),
|
||||
region: data.region.split(','),
|
||||
year: data.releaseDate,
|
||||
sortIdx: 0,
|
||||
price: 10,
|
||||
resources: resourceArr,
|
||||
published: true,
|
||||
});
|
||||
await record.save();
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
}
|
||||
export default {
|
||||
run: async () => {
|
||||
await parseAllMovie();
|
||||
// await parseAllMovie();
|
||||
await parseAllMovieToDb();
|
||||
console.log('all done');
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user