This commit is contained in:
mubai
2023-04-19 21:57:30 +08:00
parent b791a1db2b
commit 984ace88a4
45 changed files with 941 additions and 658 deletions

View File

@@ -61,6 +61,7 @@ func ProcessMovieDetail(detail model.MovieDetailInfo) model.MovieDetail {
AddTime: detail.AddTime,
DbId: detail.DbId,
DbScore: detail.DbScore,
Hits: detail.Hits,
Content: detail.Content,
},
}

View File

@@ -41,6 +41,7 @@ type Site struct {
var SiteList = []Site{
//{"tk", "https://api.tiankongapi.com/api.php/provide/vod"},
//{"yh", "https://m3u8.apiyhzy.com/api.php/provide/vod/"},
//{"zk", "https://api.1080zyku.com/inc/apijson.php"}, 数据格式不规范,不采用
//{"fs", "https://www.feisuzyapi.com/api.php/provide/vod/"},
{"lz", "https://cj.lziapi.com/api.php/provide/vod/"},
@@ -251,7 +252,7 @@ func UpdateMainDetail() {
func UpdatePlayDetail() {
for _, s := range SiteList {
// 获取单个站点的分页数
r := RequestInfo{Uri: s.Name, Params: url.Values{}}
r := RequestInfo{Uri: s.Uri, Params: url.Values{}}
r.Params.Set("h", config.UpdateInterval)
pageCount, err := GetPageCount(r)
if err != nil {

View File

@@ -4,6 +4,7 @@ import (
"github.com/robfig/cron/v3"
"log"
"server/config"
"server/model"
)
// RegularUpdateMovie 定时更新, 每半小时获取一次站点的最近x小时数据
@@ -14,6 +15,8 @@ func RegularUpdateMovie() {
// 执行更新最近x小时影片的Spider
log.Println("执行一次影片更新任务...")
UpdateMovieDetail()
// 执行更新任务后清理redis中的相关API接口数据缓存
clearCache()
})
// 开启定时任务每月最后一天凌晨两点, 执行一次清库重取数据
@@ -27,3 +30,8 @@ func RegularUpdateMovie() {
c.Start()
}
// 清理API接口数据缓存
func clearCache() {
model.RemoveCache(config.IndexCacheKey)
}

View File

@@ -8,6 +8,7 @@ import (
"net/http"
"net/url"
"strconv"
"strings"
"time"
)
@@ -23,6 +24,9 @@ type RequestInfo struct {
Resp []byte `json:"resp"` // 响应结果数据
}
// RefererUrl 记录上次请求的url
var RefererUrl string
// CreateClient 初始化请求客户端
func CreateClient() *colly.Collector {
c := colly.NewCollector()
@@ -43,6 +47,11 @@ func CreateClient() *colly.Collector {
// 设置一些请求头信息
request.Headers.Set("Content-Type", "application/json;charset=UTF-8")
//request.Headers.Set("accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7")
// 请求完成后设置请求头Referer
if len(RefererUrl) <= 0 || !strings.Contains(RefererUrl, request.URL.Host) {
RefererUrl = ""
}
request.Headers.Set("Referer", RefererUrl)
})
// 请求期间报错的回调
c.OnError(func(response *colly.Response, err error) {
@@ -69,6 +78,8 @@ func ApiGet(r *RequestInfo) {
} else {
r.Resp = []byte{}
}
// 将请求url保存到RefererUrl 用于 Header Refer属性
RefererUrl = response.Request.URL.String()
// 拿到response后输出请求url
//log.Println("\n请求成功: ", response.Request.URL)
})