浏览代码

睿姿得爬取-配置更新

gmy 5 月之前
父节点
当前提交
c06d86acf6

+ 13 - 24
services/ruizide/data_processor.go

@@ -1,4 +1,4 @@
-package main
+package ruizide
 
 
 import (
 import (
 	"context"
 	"context"
@@ -19,28 +19,15 @@ import (
 
 
 // 定义选择器
 // 定义选择器
 var (
 var (
-	downloadDir  = "D:\\download"
-	defaultDir   = "C:\\Users\\Guo Mengyuan\\Downloads"
+	downloadDir  = utils.RZD_EXCEL_PATH
+	defaultDir   = utils.RZD_DOWNLOAD_PATH
 	rzdLoginPath = "https://clients.rystadenergy.com/clients/"
 	rzdLoginPath = "https://clients.rystadenergy.com/clients/"
 	rzdBatchSize = 500
 	rzdBatchSize = 500
 
 
-	clientSearchLink               = `div.d-none.d-lg-flex.flex-grow-1 a[href="/clients/search/"]`
-	clientsCubeDashboardsLink      = `div.d-none.d-lg-flex.flex-grow-1 a[href="/clients/cube-dashboards/"]`
-	supplyRevisionAnalysisSelector = `div.ais-Hits li h5:contains("Supply Revision Analysis")`
-	oilDemandAnalysisSelector      = `div.ais-Hits li[contains(., 'Oil Demand Analysis')]`
-	oilSupplyAnalysisSelector      = `div.ais-Hits li[contains(., 'Oil Supply Analysis')]`
-	dateSlicerInputSelector        = `div.visualContainer.unselectable.readMode.hideBorder.visualHeaderBelow.droppableElement.ui-droppable div.date-slicer-control input.date-slicer-input.enable-hover`
-	downloadButtonSelector         = `div.btn.btn-link.btn-sm.dashboard-action.dashboard-action--download-data`
-
-	oilDemandIframeSelector = `div#WithPollingInFrame iframe` // 根据实际 iframe 的选择器更新
-	tabSelectorBase         = `h3.preTextWithEllipsis`        // H3 标签中每个标签的基础选择器
+	clientSearchLink       = `div.d-none.d-lg-flex.flex-grow-1 a[href="/clients/search/"]`
+	downloadButtonSelector = `div.btn.btn-link.btn-sm.dashboard-action.dashboard-action--download-data`
 )
 )
 
 
-// 函数用于点击下载按钮
-func clickDownload(ctx context.Context) error {
-	return chromedp.Run(ctx, chromedp.Click(downloadButtonSelector, chromedp.ByQuery))
-}
-
 // 处理数据下载的步骤
 // 处理数据下载的步骤
 func downloadData(ctx context.Context) error {
 func downloadData(ctx context.Context) error {
 	// Analytics Library
 	// Analytics Library
@@ -164,12 +151,12 @@ func moveFile(source, destination string) error {
 }
 }
 
 
 // 解析网页数据,下载文件
 // 解析网页数据,下载文件
-func main() {
-	//func resolverNet() {
+// func main() {
+func ResolverNet(cont context.Context) (err error) {
 	// 创建下载目录
 	// 创建下载目录
 	if err := os.MkdirAll(downloadDir, os.ModePerm); err != nil {
 	if err := os.MkdirAll(downloadDir, os.ModePerm); err != nil {
 		fmt.Printf("创建下载目录时出错: %v\n", err)
 		fmt.Printf("创建下载目录时出错: %v\n", err)
-		return
+		return nil
 	}
 	}
 
 
 	// 创建 chromedp 执行上下文
 	// 创建 chromedp 执行上下文
@@ -192,7 +179,7 @@ func main() {
 	// 启动 Chrome 实例
 	// 启动 Chrome 实例
 	if err := chromedp.Run(ctx); err != nil {
 	if err := chromedp.Run(ctx); err != nil {
 		fmt.Printf("启动 Chrome 实例时出错: %v\n", err)
 		fmt.Printf("启动 Chrome 实例时出错: %v\n", err)
-		return
+		return nil
 	}
 	}
 
 
 	// 设置下载行为
 	// 设置下载行为
@@ -204,19 +191,21 @@ func main() {
 	// 登录操作
 	// 登录操作
 	if err := login(ctx); err != nil {
 	if err := login(ctx); err != nil {
 		fmt.Printf("登录错误: %v\n", err)
 		fmt.Printf("登录错误: %v\n", err)
-		return
+		return nil
 	}
 	}
 
 
 	// 下载数据
 	// 下载数据
 	if err := downloadData(ctx); err != nil {
 	if err := downloadData(ctx); err != nil {
 		fmt.Printf("数据下载错误: %v\n", err)
 		fmt.Printf("数据下载错误: %v\n", err)
-		return
+		return nil
 	}
 	}
 
 
 	fmt.Println("数据下载完成")
 	fmt.Println("数据下载完成")
 
 
 	// 解析表格 读取数据
 	// 解析表格 读取数据
 	fileResolver()
 	fileResolver()
+
+	return nil
 }
 }
 
 
 // 解析本地文件
 // 解析本地文件

+ 1 - 1
services/ruizide/processor_business_logic.go

@@ -1,6 +1,6 @@
 // Package ruizide
 // Package ruizide
 // @Author gmy 2024/10/21 10:50:00
 // @Author gmy 2024/10/21 10:50:00
-package main
+package ruizide
 
 
 import (
 import (
 	"encoding/json"
 	"encoding/json"

+ 1 - 1
services/ruizide/processor_factory.go

@@ -1,4 +1,4 @@
-package main
+package ruizide
 
 
 import (
 import (
 	"eta/eta_data_analysis/models"
 	"eta/eta_data_analysis/models"

+ 7 - 0
services/task.go

@@ -5,6 +5,7 @@ import (
 	oilchemService "eta/eta_data_analysis/services/base_from_oilchem"
 	oilchemService "eta/eta_data_analysis/services/base_from_oilchem"
 	"eta/eta_data_analysis/services/fenwei"
 	"eta/eta_data_analysis/services/fenwei"
 	"eta/eta_data_analysis/services/liangyou"
 	"eta/eta_data_analysis/services/liangyou"
+	"eta/eta_data_analysis/services/ruizide"
 	"eta/eta_data_analysis/utils"
 	"eta/eta_data_analysis/utils"
 	"fmt"
 	"fmt"
 	"github.com/beego/beego/v2/task"
 	"github.com/beego/beego/v2/task"
@@ -63,6 +64,12 @@ func Task() {
 		task.AddTask("粮油商务网", lyData)
 		task.AddTask("粮油商务网", lyData)
 	}
 	}
 
 
+	if utils.RZD_OPEN == "1" {
+		rzdData := task.NewTask("refreshRzdData", "0 0 12 * * *", ruizide.ResolverNet) // 睿姿得数据
+
+		task.AddTask("睿咨得数据", rzdData)
+	}
+
 	if utils.MtjhOpen == "1" {
 	if utils.MtjhOpen == "1" {
 		c := cron.New(cron.WithSeconds())
 		c := cron.New(cron.WithSeconds())
 		//每2分钟检测一次指标文件是否更新
 		//每2分钟检测一次指标文件是否更新

+ 7 - 5
utils/config.go

@@ -82,10 +82,11 @@ var (
 
 
 // 睿姿得数据
 // 睿姿得数据
 var (
 var (
-	RZD_USERNAME  string
-	RZD_PASSWORD  string
-	RZD_JSON_PATH string
-	RZD_OPEN      string
+	RZD_USERNAME      string
+	RZD_PASSWORD      string
+	RZD_EXCEL_PATH    string
+	RZD_OPEN          string
+	RZD_DOWNLOAD_PATH string
 )
 )
 
 
 // CCF化纤信息
 // CCF化纤信息
@@ -225,8 +226,9 @@ func init() {
 	{
 	{
 		RZD_USERNAME = config["rzd_username"]
 		RZD_USERNAME = config["rzd_username"]
 		RZD_PASSWORD = config["rzd_password"]
 		RZD_PASSWORD = config["rzd_password"]
-		RZD_JSON_PATH = config["rzd_json_path"]
+		RZD_EXCEL_PATH = config["rzd_excel_path"]
 		RZD_OPEN = config["rzd_open"]
 		RZD_OPEN = config["rzd_open"]
+		RZD_DOWNLOAD_PATH = config["rzd_download_path"]
 	}
 	}
 
 
 	// 隆众数据
 	// 隆众数据