cron tasks

有些具有可預測大約日期範圍的抓取,設為排程工作,避免沒事就去爬蟲頁面檢查點擊。

    // 每天15:10(日線)
    cronTasks.AddFunc("30,50 15 * * *", func() { cronhome.MADaily(app) })
	cronTasks.AddFunc("30,50 18 * * Fri,Sun", func() { cronhome.MAWeekly(app) })
	cronTasks.AddFunc("30,40 13 * * Sat", func() { cronhome.MAMonthly(app) })

	// 月營收: 每個月 1~18 日, every day between 1st and 15th
	lastMonth := now.AddDate(0, -1, 0)
	cronTasks.AddFunc("30 5,7,8,15,16,17,21,22,23 1-18 * ?", func() { cronhome.Revenue(app, lastMonth) })

	// 今年公佈的股利
	cronTasks.AddFunc("10 8,15,18,21 * * *", func() { cronhome.Dividend(app, now.Year()) })

	// 年報 每年 3,4月8~30日的每晚 22:30 分 22:05 23:05
	lastYear := now.AddDate(-1, 0, 0).Year()
	cronTasks.AddFunc("35 22,23 8-31 3,4 ?", func() { cronhome.FinY(app, lastYear) })
	cronTasks.AddFunc("45 22,23 8-31 3,4 ?", func() { cronhome.BalancesheetY(app, lastYear) })
	cronTasks.AddFunc("55 22,23 8-31 3,4 ?", func() { cronhome.IncomestatementY(app, lastYear) })

	// 季報: 每年的 3,5,8,11 月的 1 ~ 17 日
	prev := now.AddDate(0, -3, 0).Month()
	qOfQuarterReport := int(((prev - 1) / 3) + 1)
	yOfQuarterReport := now.AddDate(0, -3, 0).Year()
	cronTasks.AddFunc("5 2,3 1-17 3,5,8,11 ?", func() { cronhome.FinQ(app, yOfQuarterReport, qOfQuarterReport) })
	cronTasks.AddFunc("15 2,3 1-17 3,5,8,11 ?", func() { cronhome.BalancesheetQ(app, yOfQuarterReport, qOfQuarterReport) })
	cronTasks.AddFunc("25 2,3 1-17 3,5,8,11 ?", func() { cronhome.IncomestatementQ(app, yOfQuarterReport, qOfQuarterReport) })

	cronTasks.AddFunc("35 2,3 1-17 3,5,8,11 ?", func() { cronhome.EvalMoving4Q(app) })

爬蟲控制台頁面

還是需要有按鈕可以單擊送出,這個爬蟲控制台的版本暫且就先這樣子吧,等到有需要時再來調整改版。

目前爬蟲頁面