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