package services import ( "eta/eta_data_analysis/models" "eta/eta_data_analysis/utils" "fmt" "github.com/PuerkitoBio/goquery" "strings" "time" ) var YuanYouListMap = map[string]string{ "国内独立炼厂产能利用率周数据统计" : "https://list.oilchem.net/5158/43854/", "国内炼厂常减压装置产能利用率月数据统计": "https://list.oilchem.net/5158/43854/", "山东独立炼厂原油到港量周数据统计": "https://list.oilchem.net/5158/43856/", "中国港口商业原油库存指数分析": "https://list.oilchem.net/5158/43857/", "山东独立炼厂原油样本库容率周数据分析": "https://list.oilchem.net/5158/43859/", "中国炼厂原油加工量月数据分析": "https://list.oilchem.net/5158/43858/", "国内原油加工量简况": "https://list.oilchem.net/5158/37164/", "国内原油产量表": "https://list.oilchem.net/5158/37164/", //"中国原油进出口量月数据统计": "https://list.oilchem.net/5158/37160/", "中国原油月度进出口数据分析报告": "https://list.oilchem.net/5158/37160/", //"美国能源信息署最新石油库存报告": "https://list.oilchem.net/5158/37147/", "美国API库存数据": "https://list.oilchem.net/5158/37147/", "国际主要汇率收盘": "https://list.oilchem.net/5158/37156/", } func YuanYouList(num int) (err error) { for k, v := range YuanYouListMap { for i := 1; i < num; i++ { listUrl := v + fmt.Sprintf("%d.html", i) fmt.Println("listUrl:", listUrl) htm, e := FetchPageHtml(listUrl) if e != nil { err = e utils.FileLog.Error(fmt.Sprintf("FetchPageHtml err:%v", err)) fmt.Println("FetchPageHtml err", err) return } err = AnalysisOilchemList(htm, k) if err != nil { utils.FileLog.Error(fmt.Sprintf("AnalysisOilchemList err:%v", err)) fmt.Println("AnalysisOilchemList err", err) return } time.Sleep(2 * time.Second) } } return } // 国内独立炼厂产能利用率周数据 func AnalysisOilchemYuanYou1(htm []byte) (err error) { if len(htm) == 0 { utils.FileLog.Info("htm empty") return } doc, e := goquery.NewDocumentFromReader(strings.NewReader(string(htm))) if e != nil { err = fmt.Errorf("NewDocumentFromReader err: %v", e) return } titleList := make([]string, 0) unitList := make([]string, 0) doc.Find("p").Each(func(i int, selection *goquery.Selection) { ptext := selection.Text() if strings.Contains(ptext, "单位:") { unit := strings.Replace(ptext, "单位:", "", -1) //fmt.Println("unit:",unit) unitList = append(unitList, unit) } if strings.Contains(ptext, "国内独立炼厂产能利用率周数据") { title := ptext //fmt.Println("title:",title) titleList = append(titleList, title) } }) area := "" title := doc.Find("h2").Text() fmt.Println("title:", title) createTimeStr := doc.Find("h2").Next().Text() createTimeStr = strings.TrimLeft(createTimeStr, "发布时间:") createTimeStrIndex := strings.Index(createTimeStr, "来源:") createTimeStr = createTimeStr[:createTimeStrIndex] createTimeStr = strings.TrimSpace(createTimeStr) createTime, err := time.Parse(utils.HlbFormatDateTimeNoSecond, createTimeStr) if err != nil { utils.FileLog.Error(fmt.Sprintf("time.Parse err:%v", err)) return } //fmt.Println("createTime:",createTime) dataTime := createTime.Format(utils.FormatDate) //fmt.Println("dataTime:",dataTime) indexList := make([]*models.BaseFromOilchemIndex, 0) doc.Find("tbody").Each(func(tableIndex int, table *goquery.Selection) { table.Find("tr").First().Each(func(ii int, table2 *goquery.Selection) { table.Find("td").Each(func(jj int, table3 *goquery.Selection) { text3 := table3.Text() text3 = strings.Replace(text3, "\n", "", -1) text3 = strings.Replace(text3, " ", "", -1) if text3 == "上周" || text3 == "环比" || text3 == "地区" { return } //fmt.Println("table3:",text3) //utils.FileLog.Info(fmt.Sprintf("table3:%s",text3)) //fmt.Println("ii:",ii) //utils.FileLog.Info(fmt.Sprintf("ii:%d",ii)) //fmt.Println("jj:",jj) //utils.FileLog.Info(fmt.Sprintf("jj:%d",jj)) //fmt.Println("tableIndex:",tableIndex) //utils.FileLog.Info(fmt.Sprintf("tableIndex:%d",tableIndex)) if utils.ContainsChinese(text3) && text3 != "本周" { area = text3 return } if area == "" { return } value := text3 value = strings.TrimRight(value, "%") //valueF, e := strconv.ParseFloat(value, 64) //if e != nil { // err = e // utils.FileLog.Error(fmt.Sprintf("strconv.ParseFloat err:%v",e)) // return //} indexName := "中国炼厂常减压装置产能利用率" fmt.Println("indexName:", indexName) fmt.Println("valueF:", value) unit := "" if strings.Contains(area, "产量") { unit = "万吨" } else { unit = "%" } item := &models.BaseFromOilchemIndex{ IndexName: indexName, ClassifyId: 5, Unit: unit, Frequency: "周度", Describe: "", DataTime: dataTime, Value: value, Sort: 0, CreateTime: time.Now(), ModifyTime: time.Now(), IndexNameStr: "中国炼厂常减压装置产能利用率", MarketName: "", } indexList = append(indexList, item) area = "" }) }) }) // 写入数据库 err = PostHandleOilchem(indexList) if err != nil { utils.FileLog.Error(fmt.Sprintf("PostHandleOilchem err:%v", err)) fmt.Println("PostHandleOilchem err", err) return } return } // 国内炼厂常减压装置产能利用率月数据统计 func AnalysisOilchemYuanYou2(htm []byte) (err error) { if len(htm) == 0 { utils.FileLog.Info("htm empty") return } doc, e := goquery.NewDocumentFromReader(strings.NewReader(string(htm))) if e != nil { err = fmt.Errorf("NewDocumentFromReader err: %v", e) return } titleList := make([]string, 0) unitList := make([]string, 0) doc.Find("p").Each(func(i int, selection *goquery.Selection) { ptext := selection.Text() if strings.Contains(ptext, "单位:") { unit := strings.Replace(ptext, "单位:", "", -1) //fmt.Println("unit:",unit) unitList = append(unitList, unit) } if strings.Contains(ptext, "国内独立炼厂产能利用率周数据") { title := ptext //fmt.Println("title:",title) titleList = append(titleList, title) } }) area := "" title := doc.Find("h2").Text() fmt.Println("title:", title) createTimeStr := doc.Find("h2").Next().Text() createTimeStr = strings.TrimLeft(createTimeStr, "发布时间:") createTimeStrIndex := strings.Index(createTimeStr, "来源:") createTimeStr = createTimeStr[:createTimeStrIndex] createTimeStr = strings.TrimSpace(createTimeStr) createTime, err := time.Parse(utils.HlbFormatDateTimeNoSecond, createTimeStr) if err != nil { utils.FileLog.Error(fmt.Sprintf("time.Parse err:%v", err)) return } //fmt.Println("createTime:",createTime) dataTime := createTime.Format(utils.FormatDate) //fmt.Println("dataTime:",dataTime) indexList := make([]*models.BaseFromOilchemIndex, 0) doc.Find("tbody").Each(func(tableIndex int, table *goquery.Selection) { table.Find("tr").First().Each(func(ii int, table2 *goquery.Selection) { table.Find("td").Each(func(jj int, table3 *goquery.Selection) { text3 := table3.Text() text3 = strings.Replace(text3, "\n", "", -1) text3 = strings.Replace(text3, " ", "", -1) if text3 == "上周" || text3 == "环比" || text3 == "地区" { return } //fmt.Println("table3:",text3) //utils.FileLog.Info(fmt.Sprintf("table3:%s",text3)) //fmt.Println("ii:",ii) //utils.FileLog.Info(fmt.Sprintf("ii:%d",ii)) //fmt.Println("jj:",jj) //utils.FileLog.Info(fmt.Sprintf("jj:%d",jj)) //fmt.Println("tableIndex:",tableIndex) //utils.FileLog.Info(fmt.Sprintf("tableIndex:%d",tableIndex)) if utils.ContainsChinese(text3) && text3 != "本周" { area = text3 return } if area == "" { return } value := text3 value = strings.TrimRight(value, "%") //valueF, e := strconv.ParseFloat(value, 64) //if e != nil { // err = e // utils.FileLog.Error(fmt.Sprintf("strconv.ParseFloat err:%v",e)) // return //} indexName := "中国炼厂常减压装置产能利用率" + "(" + area + ")" fmt.Println("indexName:", indexName) fmt.Println("valueF:", value) unit := "" if strings.Contains(area, "产量") { unit = "万吨" } else { unit = "%" } item := &models.BaseFromOilchemIndex{ IndexName: indexName, ClassifyId: 5, Unit: unit, Frequency: "周度", Describe: "", DataTime: dataTime, Value: value, Sort: 0, CreateTime: time.Now(), ModifyTime: time.Now(), IndexNameStr: "中国炼厂常减压装置产能利用率", MarketName: area, } indexList = append(indexList, item) area = "" }) }) }) // 写入数据库 err = PostHandleOilchem(indexList) if err != nil { utils.FileLog.Error(fmt.Sprintf("PostHandleOilchem err:%v", err)) fmt.Println("PostHandleOilchem err", err) return } return } // 山东独立炼厂原油到港量周数据统计 func AnalysisOilchemYuanYou3(htm []byte) (err error) { if len(htm) == 0 { utils.FileLog.Info("htm empty") return } doc, e := goquery.NewDocumentFromReader(strings.NewReader(string(htm))) if e != nil { err = fmt.Errorf("NewDocumentFromReader err: %v", e) return } //titleList := make([]string, 0) unitList := make([]string, 0) doc.Find("p").Each(func(i int, selection *goquery.Selection) { ptext := selection.Text() if strings.Contains(ptext, "单位:") { unit := strings.Replace(ptext, "单位:", "", -1) //fmt.Println("unit:",unit) unitList = append(unitList, unit) } //if strings.Contains(ptext, "国内独立炼厂产能利用率周数据") { // title := ptext // //fmt.Println("title:",title) // titleList = append(titleList, title) //} }) area := "" title := doc.Find("h2").Text() fmt.Println("title:", title) createTimeStr := doc.Find("h2").Next().Text() createTimeStr = strings.TrimLeft(createTimeStr, "发布时间:") createTimeStrIndex := strings.Index(createTimeStr, "来源:") createTimeStr = createTimeStr[:createTimeStrIndex] createTimeStr = strings.TrimSpace(createTimeStr) createTime, err := time.Parse(utils.HlbFormatDateTimeNoSecond, createTimeStr) if err != nil { utils.FileLog.Error(fmt.Sprintf("time.Parse err:%v", err)) return } //fmt.Println("createTime:",createTime) dataTime := createTime.Format(utils.FormatDate) //fmt.Println("dataTime:",dataTime) indexList := make([]*models.BaseFromOilchemIndex, 0) doc.Find("tbody").Each(func(tableIndex int, table *goquery.Selection) { table.Find("tr:not(.firstRow)").Each(func(ii int, table2 *goquery.Selection) { table2.Find("td").Each(func(jj int, table3 *goquery.Selection) { text3 := table3.Text() text3 = strings.Replace(text3, "\n", "", -1) text3 = strings.Replace(text3, " ", "", -1) if text3 == "上周" || text3 == "环比" || text3 == "地区" { return } //fmt.Println("table3:",text3) //utils.FileLog.Info(fmt.Sprintf("table3:%s",text3)) //fmt.Println("ii:",ii) //utils.FileLog.Info(fmt.Sprintf("ii:%d",ii)) //fmt.Println("jj:",jj) //utils.FileLog.Info(fmt.Sprintf("jj:%d",jj)) //fmt.Println("tableIndex:",tableIndex) //utils.FileLog.Info(fmt.Sprintf("tableIndex:%d",tableIndex)) if utils.ContainsChinese(text3) && text3 != "本周" { area = text3 return } if area == "" { return } value := text3 value = strings.TrimRight(value, "%") //valueF, e := strconv.ParseFloat(value, 64) //if e != nil { // err = e // utils.FileLog.Error(fmt.Sprintf("strconv.ParseFloat err:%v",e)) // return //} indexName := "山东独立炼厂原油到港量" fmt.Println("indexName:", indexName) fmt.Println("valueF:", value) //unit := "" //if strings.Contains(area, "产量") { // unit = "万吨" //} else { // unit = "%" //} item := &models.BaseFromOilchemIndex{ IndexName: indexName, ClassifyId: 5, Unit: "万吨", Frequency: "周度", Describe: "", DataTime: dataTime, Value: value, Sort: 0, CreateTime: time.Now(), ModifyTime: time.Now(), IndexNameStr: indexName, MarketName: "", } indexList = append(indexList, item) area = "" }) }) }) // 写入数据库 err = PostHandleOilchem(indexList) if err != nil { utils.FileLog.Error(fmt.Sprintf("PostHandleOilchem err:%v", err)) fmt.Println("PostHandleOilchem err", err) return } return } // 中国港口商业原油库存指数分析 func AnalysisOilchemYuanYou4(htm []byte) (err error) { if len(htm) == 0 { utils.FileLog.Info("htm empty") return } doc, e := goquery.NewDocumentFromReader(strings.NewReader(string(htm))) if e != nil { err = fmt.Errorf("NewDocumentFromReader err: %v", e) return } //titleList := make([]string, 0) unitList := make([]string, 0) doc.Find("p").Each(func(i int, selection *goquery.Selection) { ptext := selection.Text() if strings.Contains(ptext, "单位:") { unit := strings.Replace(ptext, "单位:", "", -1) //fmt.Println("unit:",unit) unitList = append(unitList, unit) } //if strings.Contains(ptext, "国内独立炼厂产能利用率周数据") { // title := ptext // //fmt.Println("title:",title) // titleList = append(titleList, title) //} }) area := "" title := doc.Find("h2").Text() fmt.Println("title:", title) createTimeStr := doc.Find("h2").Next().Text() createTimeStr = strings.TrimLeft(createTimeStr, "发布时间:") createTimeStrIndex := strings.Index(createTimeStr, "来源:") createTimeStr = createTimeStr[:createTimeStrIndex] createTimeStr = strings.TrimSpace(createTimeStr) createTime, err := time.Parse(utils.HlbFormatDateTimeNoSecond, createTimeStr) if err != nil { utils.FileLog.Error(fmt.Sprintf("time.Parse err:%v", err)) return } //fmt.Println("createTime:",createTime) dataTime := createTime.Format(utils.FormatDate) //fmt.Println("dataTime:",dataTime) indexList := make([]*models.BaseFromOilchemIndex, 0) doc.Find("tbody").Each(func(tableIndex int, table *goquery.Selection) { table.Find("tr").First().Each(func(ii int, table2 *goquery.Selection) { table.Find("p").Each(func(jj int, table3 *goquery.Selection) { text3 := table3.Text() text3 = strings.Replace(text3, "\n", "", -1) text3 = strings.Replace(text3, " ", "", -1) if text3 == "上周" || text3 == "环比" || text3 == "地区" { return } //fmt.Println("table3:",text3) //utils.FileLog.Info(fmt.Sprintf("table3:%s",text3)) //fmt.Println("ii:",ii) //utils.FileLog.Info(fmt.Sprintf("ii:%d",ii)) //fmt.Println("jj:",jj) //utils.FileLog.Info(fmt.Sprintf("jj:%d",jj)) //fmt.Println("tableIndex:",tableIndex) //utils.FileLog.Info(fmt.Sprintf("tableIndex:%d",tableIndex)) if utils.ContainsChinese(text3) && text3 != "本周"{ area = text3 return } if area == "" { return } value := text3 value = strings.TrimRight(value, "%") //valueF, e := strconv.ParseFloat(value, 64) //if e != nil { // err = e // utils.FileLog.Error(fmt.Sprintf("strconv.ParseFloat err:%v",e)) // return //} indexName := "中国港口商业原油样本库存指数" + "(" + area + ")" fmt.Println("indexName:", indexName) fmt.Println("valueF:", value) //unit := "" //if strings.Contains(area, "产量") { // unit = "万吨" //} else { // unit = "%" //} item := &models.BaseFromOilchemIndex{ IndexName: indexName, ClassifyId: 5, Unit: "%", Frequency: "周度", Describe: "", DataTime: dataTime, Value: value, Sort: 0, CreateTime: time.Now(), ModifyTime: time.Now(), IndexNameStr: "中国港口商业原油样本库存指数", MarketName: area, } indexList = append(indexList, item) area = "" }) }) }) // 写入数据库 err = PostHandleOilchem(indexList) if err != nil { utils.FileLog.Error(fmt.Sprintf("PostHandleOilchem err:%v", err)) fmt.Println("PostHandleOilchem err", err) return } return } // 山东独立炼厂原油样本库容率周数据分析 func AnalysisOilchemYuanYou5(htm []byte) (err error) { if len(htm) == 0 { utils.FileLog.Info("htm empty") return } doc, e := goquery.NewDocumentFromReader(strings.NewReader(string(htm))) if e != nil { err = fmt.Errorf("NewDocumentFromReader err: %v", e) return } //titleList := make([]string, 0) unitList := make([]string, 0) doc.Find("p").Each(func(i int, selection *goquery.Selection) { ptext := selection.Text() if strings.Contains(ptext, "单位:") { unit := strings.Replace(ptext, "单位:", "", -1) //fmt.Println("unit:",unit) unitList = append(unitList, unit) } //if strings.Contains(ptext, "国内独立炼厂产能利用率周数据") { // title := ptext // //fmt.Println("title:",title) // titleList = append(titleList, title) //} }) area := "" title := doc.Find("h2").Text() fmt.Println("title:", title) createTimeStr := doc.Find("h2").Next().Text() createTimeStr = strings.TrimLeft(createTimeStr, "发布时间:") createTimeStrIndex := strings.Index(createTimeStr, "来源:") createTimeStr = createTimeStr[:createTimeStrIndex] createTimeStr = strings.TrimSpace(createTimeStr) createTime, err := time.Parse(utils.HlbFormatDateTimeNoSecond, createTimeStr) if err != nil { utils.FileLog.Error(fmt.Sprintf("time.Parse err:%v", err)) return } //fmt.Println("createTime:",createTime) dataTime := createTime.Format(utils.FormatDate) //fmt.Println("dataTime:",dataTime) indexList := make([]*models.BaseFromOilchemIndex, 0) doc.Find("tbody").Each(func(tableIndex int, table *goquery.Selection) { table.Find("tr:not(.firstRow)").Each(func(ii int, table2 *goquery.Selection) { table2.Find("td").Each(func(jj int, table3 *goquery.Selection) { text3 := table3.Text() text3 = strings.Replace(text3, "\n", "", -1) text3 = strings.Replace(text3, " ", "", -1) if text3 == "上周" || text3 == "环比" || text3 == "地区" { return } //fmt.Println("table3:",text3) //utils.FileLog.Info(fmt.Sprintf("table3:%s",text3)) //fmt.Println("ii:",ii) //utils.FileLog.Info(fmt.Sprintf("ii:%d",ii)) //fmt.Println("jj:",jj) //utils.FileLog.Info(fmt.Sprintf("jj:%d",jj)) //fmt.Println("tableIndex:",tableIndex) //utils.FileLog.Info(fmt.Sprintf("tableIndex:%d",tableIndex)) if utils.ContainsChinese(text3) && text3 != "本周" { area = text3 return } if area == "" { return } value := text3 value = strings.TrimRight(value, "%") //valueF, e := strconv.ParseFloat(value, 64) //if e != nil { // err = e // utils.FileLog.Error(fmt.Sprintf("strconv.ParseFloat err:%v",e)) // return //} indexName := "山东独立炼厂原油样本库容率" fmt.Println("indexName:", indexName) fmt.Println("valueF:", value) //unit := "" //if strings.Contains(area, "产量") { // unit = "万吨" //} else { // unit = "%" //} item := &models.BaseFromOilchemIndex{ IndexName: indexName, ClassifyId: 5, Unit: "%", Frequency: "周度", Describe: "", DataTime: dataTime, Value: value, Sort: 0, CreateTime: time.Now(), ModifyTime: time.Now(), IndexNameStr: indexName, MarketName: "", } indexList = append(indexList, item) area = "" }) }) }) // 写入数据库 err = PostHandleOilchem(indexList) if err != nil { utils.FileLog.Error(fmt.Sprintf("PostHandleOilchem err:%v", err)) fmt.Println("PostHandleOilchem err", err) return } return } // 中国炼厂原油加工量月数据分析 func AnalysisOilchemYuanYou6(htm []byte) (err error) { if len(htm) == 0 { utils.FileLog.Info("htm empty") return } doc, e := goquery.NewDocumentFromReader(strings.NewReader(string(htm))) if e != nil { err = fmt.Errorf("NewDocumentFromReader err: %v", e) return } //titleList := make([]string, 0) unitList := make([]string, 0) doc.Find("p").Each(func(i int, selection *goquery.Selection) { ptext := selection.Text() if strings.Contains(ptext, "单位:") { unit := strings.Replace(ptext, "单位:", "", -1) //fmt.Println("unit:",unit) unitList = append(unitList, unit) } //if strings.Contains(ptext, "国内独立炼厂产能利用率周数据") { // title := ptext // //fmt.Println("title:",title) // titleList = append(titleList, title) //} }) area := "" title := doc.Find("h2").Text() fmt.Println("title:", title) createTimeStr := doc.Find("h2").Next().Text() createTimeStr = strings.TrimLeft(createTimeStr, "发布时间:") createTimeStrIndex := strings.Index(createTimeStr, "来源:") createTimeStr = createTimeStr[:createTimeStrIndex] createTimeStr = strings.TrimSpace(createTimeStr) createTime, err := time.Parse(utils.HlbFormatDateTimeNoSecond, createTimeStr) if err != nil { utils.FileLog.Error(fmt.Sprintf("time.Parse err:%v", err)) return } //fmt.Println("createTime:",createTime) dataTime := createTime.Format(utils.FormatDate) //fmt.Println("dataTime:",dataTime) indexList := make([]*models.BaseFromOilchemIndex, 0) doc.Find("tbody").Each(func(tableIndex int, table *goquery.Selection) { table.Find("tr:not(.firstRow)").Each(func(ii int, table2 *goquery.Selection) { table2.Find("td").Each(func(jj int, table3 *goquery.Selection) { text3 := table3.Text() text3 = strings.Replace(text3, "\n", "", -1) text3 = strings.Replace(text3, " ", "", -1) if text3 == "上周" || text3 == "环比" || text3 == "地区" { return } //fmt.Println("table3:",text3) //utils.FileLog.Info(fmt.Sprintf("table3:%s",text3)) //fmt.Println("ii:",ii) //utils.FileLog.Info(fmt.Sprintf("ii:%d",ii)) //fmt.Println("jj:",jj) //utils.FileLog.Info(fmt.Sprintf("jj:%d",jj)) //fmt.Println("tableIndex:",tableIndex) //utils.FileLog.Info(fmt.Sprintf("tableIndex:%d",tableIndex)) if utils.ContainsChinese(text3) && text3 != "本周" { area = text3 return } if area == "" { return } value := text3 value = strings.TrimRight(value, "%") //valueF, e := strconv.ParseFloat(value, 64) //if e != nil { // err = e // utils.FileLog.Error(fmt.Sprintf("strconv.ParseFloat err:%v",e)) // return //} indexName := "中国炼厂原油加工量" fmt.Println("indexName:", indexName) fmt.Println("valueF:", value) //unit := "" //if strings.Contains(area, "产量") { // unit = "万吨" //} else { // unit = "%" //} item := &models.BaseFromOilchemIndex{ IndexName: indexName, ClassifyId: 5, Unit: "万吨", Frequency: "月度", Describe: "", DataTime: dataTime, Value: value, Sort: 0, CreateTime: time.Now(), ModifyTime: time.Now(), IndexNameStr: indexName, MarketName: "", } indexList = append(indexList, item) area = "" }) }) }) // 写入数据库 err = PostHandleOilchem(indexList) if err != nil { utils.FileLog.Error(fmt.Sprintf("PostHandleOilchem err:%v", err)) fmt.Println("PostHandleOilchem err", err) return } return } // 国内原油加工量简况 func AnalysisOilchemYuanYou7(htm []byte) (err error) { if len(htm) == 0 { utils.FileLog.Info("htm empty") return } doc, e := goquery.NewDocumentFromReader(strings.NewReader(string(htm))) if e != nil { err = fmt.Errorf("NewDocumentFromReader err: %v", e) return } //titleList := make([]string, 0) unitList := make([]string, 0) doc.Find("p").Each(func(i int, selection *goquery.Selection) { ptext := selection.Text() if strings.Contains(ptext, "单位:") { unit := strings.Replace(ptext, "单位:", "", -1) //fmt.Println("unit:",unit) unitList = append(unitList, unit) } //if strings.Contains(ptext, "国内独立炼厂产能利用率周数据") { // title := ptext // //fmt.Println("title:",title) // titleList = append(titleList, title) //} }) area := "" title := doc.Find("h2").Text() fmt.Println("title:", title) createTimeStr := doc.Find("h2").Next().Text() createTimeStr = strings.TrimLeft(createTimeStr, "发布时间:") createTimeStrIndex := strings.Index(createTimeStr, "来源:") createTimeStr = createTimeStr[:createTimeStrIndex] createTimeStr = strings.TrimSpace(createTimeStr) createTime, err := time.Parse(utils.HlbFormatDateTimeNoSecond, createTimeStr) if err != nil { utils.FileLog.Error(fmt.Sprintf("time.Parse err:%v", err)) return } //fmt.Println("createTime:",createTime) dataTime := createTime.Format(utils.FormatDate) //fmt.Println("dataTime:",dataTime) indexList := make([]*models.BaseFromOilchemIndex, 0) doc.Find("tbody").Each(func(tableIndex int, table *goquery.Selection) { table.Find("tr:not(.firstRow)").Each(func(ii int, table2 *goquery.Selection) { table2.Find("td").Each(func(jj int, table3 *goquery.Selection) { text3 := table3.Text() text3 = strings.Replace(text3, "\n", "", -1) text3 = strings.Replace(text3, " ", "", -1) if text3 == "上周" || text3 == "环比" || text3 == "地区" { return } //fmt.Println("table3:",text3) //utils.FileLog.Info(fmt.Sprintf("table3:%s",text3)) //fmt.Println("ii:",ii) //utils.FileLog.Info(fmt.Sprintf("ii:%d",ii)) //fmt.Println("jj:",jj) //utils.FileLog.Info(fmt.Sprintf("jj:%d",jj)) //fmt.Println("tableIndex:",tableIndex) //utils.FileLog.Info(fmt.Sprintf("tableIndex:%d",tableIndex)) if utils.ContainsChinese(text3) && text3 != "本周" { area = text3 return } if area == "" { return } value := text3 value = strings.TrimRight(value, "%") //valueF, e := strconv.ParseFloat(value, 64) //if e != nil { // err = e // utils.FileLog.Error(fmt.Sprintf("strconv.ParseFloat err:%v",e)) // return //} indexName := "国内原油加工量" fmt.Println("indexName:", indexName) fmt.Println("valueF:", value) //unit := "" //if strings.Contains(area, "产量") { // unit = "万吨" //} else { // unit = "%" //} item := &models.BaseFromOilchemIndex{ IndexName: indexName, ClassifyId: 5, Unit: "万吨", Frequency: "月度", Describe: "", DataTime: dataTime, Value: value, Sort: 0, CreateTime: time.Now(), ModifyTime: time.Now(), IndexNameStr: indexName, MarketName: "", } indexList = append(indexList, item) area = "" }) }) }) // 写入数据库 err = PostHandleOilchem(indexList) if err != nil { utils.FileLog.Error(fmt.Sprintf("PostHandleOilchem err:%v", err)) fmt.Println("PostHandleOilchem err", err) return } return } // 国内原油加工量简况 func AnalysisOilchemYuanYou8(htm []byte) (err error) { if len(htm) == 0 { utils.FileLog.Info("htm empty") return } doc, e := goquery.NewDocumentFromReader(strings.NewReader(string(htm))) if e != nil { err = fmt.Errorf("NewDocumentFromReader err: %v", e) return } //titleList := make([]string, 0) unitList := make([]string, 0) doc.Find("p").Each(func(i int, selection *goquery.Selection) { ptext := selection.Text() if strings.Contains(ptext, "单位:") { unit := strings.Replace(ptext, "单位:", "", -1) //fmt.Println("unit:",unit) unitList = append(unitList, unit) } //if strings.Contains(ptext, "国内独立炼厂产能利用率周数据") { // title := ptext // //fmt.Println("title:",title) // titleList = append(titleList, title) //} }) area := "" title := doc.Find("h2").Text() fmt.Println("title:", title) createTimeStr := doc.Find("h2").Next().Text() createTimeStr = strings.TrimLeft(createTimeStr, "发布时间:") createTimeStrIndex := strings.Index(createTimeStr, "来源:") createTimeStr = createTimeStr[:createTimeStrIndex] createTimeStr = strings.TrimSpace(createTimeStr) createTime, err := time.Parse(utils.HlbFormatDateTimeNoSecond, createTimeStr) if err != nil { utils.FileLog.Error(fmt.Sprintf("time.Parse err:%v", err)) return } //fmt.Println("createTime:",createTime) dataTime := createTime.Format(utils.FormatDate) //fmt.Println("dataTime:",dataTime) indexList := make([]*models.BaseFromOilchemIndex, 0) doc.Find("tbody").Each(func(tableIndex int, table *goquery.Selection) { table.Find("tr:not(.firstRow)").Each(func(ii int, table2 *goquery.Selection) { table2.Find("td").Each(func(jj int, table3 *goquery.Selection) { text3 := table3.Text() text3 = strings.Replace(text3, "\n", "", -1) text3 = strings.Replace(text3, " ", "", -1) if text3 == "上周" || text3 == "环比" || text3 == "地区" { return } //fmt.Println("table3:",text3) //utils.FileLog.Info(fmt.Sprintf("table3:%s",text3)) //fmt.Println("ii:",ii) //utils.FileLog.Info(fmt.Sprintf("ii:%d",ii)) //fmt.Println("jj:",jj) //utils.FileLog.Info(fmt.Sprintf("jj:%d",jj)) //fmt.Println("tableIndex:",tableIndex) //utils.FileLog.Info(fmt.Sprintf("tableIndex:%d",tableIndex)) if utils.ContainsChinese(text3) && text3 != "本周" { area = text3 return } if area == "" { return } value := text3 value = strings.TrimRight(value, "%") //valueF, e := strconv.ParseFloat(value, 64) //if e != nil { // err = e // utils.FileLog.Error(fmt.Sprintf("strconv.ParseFloat err:%v",e)) // return //} indexName := "国内原油产量表" fmt.Println("indexName:", indexName) fmt.Println("valueF:", value) //unit := "" //if strings.Contains(area, "产量") { // unit = "万吨" //} else { // unit = "%" //} item := &models.BaseFromOilchemIndex{ IndexName: indexName, ClassifyId: 5, Unit: "万吨", Frequency: "月度", Describe: "", DataTime: dataTime, Value: value, Sort: 0, CreateTime: time.Now(), ModifyTime: time.Now(), IndexNameStr: indexName, MarketName: "", } indexList = append(indexList, item) area = "" }) }) }) // 写入数据库 err = PostHandleOilchem(indexList) if err != nil { utils.FileLog.Error(fmt.Sprintf("PostHandleOilchem err:%v", err)) fmt.Println("PostHandleOilchem err", err) return } return } // 中国原油进出口量月数据统计 todo func AnalysisOilchemYuanYou9(htm []byte) (err error) { if len(htm) == 0 { utils.FileLog.Info("htm empty") return } doc, e := goquery.NewDocumentFromReader(strings.NewReader(string(htm))) if e != nil { err = fmt.Errorf("NewDocumentFromReader err: %v", e) return } //titleList := make([]string, 0) unitList := make([]string, 0) doc.Find("p").Each(func(i int, selection *goquery.Selection) { ptext := selection.Text() if strings.Contains(ptext, "单位:") { unit := strings.Replace(ptext, "单位:", "", -1) //fmt.Println("unit:",unit) unitList = append(unitList, unit) } //if strings.Contains(ptext, "国内独立炼厂产能利用率周数据") { // title := ptext // //fmt.Println("title:",title) // titleList = append(titleList, title) //} }) area := "" title := doc.Find("h2").Text() fmt.Println("title:", title) createTimeStr := doc.Find("h2").Next().Text() createTimeStr = strings.TrimLeft(createTimeStr, "发布时间:") createTimeStrIndex := strings.Index(createTimeStr, "来源:") createTimeStr = createTimeStr[:createTimeStrIndex] createTimeStr = strings.TrimSpace(createTimeStr) createTime, err := time.Parse(utils.HlbFormatDateTimeNoSecond, createTimeStr) if err != nil { utils.FileLog.Error(fmt.Sprintf("time.Parse err:%v", err)) return } //fmt.Println("createTime:",createTime) dataTime := createTime.Format(utils.FormatDate) //fmt.Println("dataTime:",dataTime) indexList := make([]*models.BaseFromOilchemIndex, 0) doc.Find("tbody").Each(func(tableIndex int, table *goquery.Selection) { table.Find("tr:not(.firstRow)").Each(func(ii int, table2 *goquery.Selection) { table2.Find("td").Each(func(jj int, table3 *goquery.Selection) { text3 := table3.Text() text3 = strings.Replace(text3, "\n", "", -1) text3 = strings.Replace(text3, " ", "", -1) if text3 == "上周" || text3 == "环比" || text3 == "地区" { return } //fmt.Println("table3:",text3) //utils.FileLog.Info(fmt.Sprintf("table3:%s",text3)) //fmt.Println("ii:",ii) //utils.FileLog.Info(fmt.Sprintf("ii:%d",ii)) //fmt.Println("jj:",jj) //utils.FileLog.Info(fmt.Sprintf("jj:%d",jj)) //fmt.Println("tableIndex:",tableIndex) //utils.FileLog.Info(fmt.Sprintf("tableIndex:%d",tableIndex)) if utils.ContainsChinese(text3) && text3 != "本周" { area = text3 return } if area == "" { return } value := text3 value = strings.TrimRight(value, "%") //valueF, e := strconv.ParseFloat(value, 64) //if e != nil { // err = e // utils.FileLog.Error(fmt.Sprintf("strconv.ParseFloat err:%v",e)) // return //} indexName := "国内原油产量表" fmt.Println("indexName:", indexName) fmt.Println("valueF:", value) //unit := "" //if strings.Contains(area, "产量") { // unit = "万吨" //} else { // unit = "%" //} item := &models.BaseFromOilchemIndex{ IndexName: indexName, ClassifyId: 5, Unit: "万吨", Frequency: "月度", Describe: "", DataTime: dataTime, Value: value, Sort: 0, CreateTime: time.Now(), ModifyTime: time.Now(), IndexNameStr: indexName, MarketName: "", } indexList = append(indexList, item) area = "" }) }) }) // 写入数据库 err = PostHandleOilchem(indexList) if err != nil { utils.FileLog.Error(fmt.Sprintf("PostHandleOilchem err:%v", err)) fmt.Println("PostHandleOilchem err", err) return } return } // 中国原油月度进出口数据分析报告 func AnalysisOilchemYuanYou10(htm []byte) (err error) { if len(htm) == 0 { utils.FileLog.Info("htm empty") return } doc, e := goquery.NewDocumentFromReader(strings.NewReader(string(htm))) if e != nil { err = fmt.Errorf("NewDocumentFromReader err: %v", e) return } //titleList := make([]string, 0) unitList := make([]string, 0) doc.Find("p").Each(func(i int, selection *goquery.Selection) { ptext := selection.Text() if strings.Contains(ptext, "单位:") { unit := strings.Replace(ptext, "单位:", "", -1) //fmt.Println("unit:",unit) unitList = append(unitList, unit) } //if strings.Contains(ptext, "国内独立炼厂产能利用率周数据") { // title := ptext // //fmt.Println("title:",title) // titleList = append(titleList, title) //} }) area := "" title := doc.Find("h2").Text() fmt.Println("title:", title) createTimeStr := doc.Find("h2").Next().Text() createTimeStr = strings.TrimLeft(createTimeStr, "发布时间:") createTimeStrIndex := strings.Index(createTimeStr, "来源:") createTimeStr = createTimeStr[:createTimeStrIndex] createTimeStr = strings.TrimSpace(createTimeStr) createTime, err := time.Parse(utils.HlbFormatDateTimeNoSecond, createTimeStr) if err != nil { utils.FileLog.Error(fmt.Sprintf("time.Parse err:%v", err)) return } //fmt.Println("createTime:",createTime) dataTime := createTime.Format(utils.FormatDate) //fmt.Println("dataTime:",dataTime) indexList := make([]*models.BaseFromOilchemIndex, 0) doc.Find("tbody").Each(func(tableIndex int, table *goquery.Selection) { if tableIndex != 1 { return } table.Find("tr:not(.firstRow)").Each(func(ii int, table2 *goquery.Selection) { table2.Find("td").Each(func(jj int, table3 *goquery.Selection) { text3 := table3.Text() text3 = strings.Replace(text3, "\n", "", -1) text3 = strings.Replace(text3, " ", "", -1) if text3 == "上周" || text3 == "环比" || text3 == "地区" { return } //fmt.Println("table3:",text3) //utils.FileLog.Info(fmt.Sprintf("table3:%s",text3)) //fmt.Println("ii:",ii) //utils.FileLog.Info(fmt.Sprintf("ii:%d",ii)) //fmt.Println("jj:",jj) //utils.FileLog.Info(fmt.Sprintf("jj:%d",jj)) //fmt.Println("tableIndex:",tableIndex) //utils.FileLog.Info(fmt.Sprintf("tableIndex:%d",tableIndex)) if utils.ContainsChinese(text3) && text3 != "本周" { area = text3 return } if area == "" { return } value := text3 value = strings.TrimRight(value, "%") //valueF, e := strconv.ParseFloat(value, 64) //if e != nil { // err = e // utils.FileLog.Error(fmt.Sprintf("strconv.ParseFloat err:%v",e)) // return //} indexName := "中国原油按贸易方式进口量"+"(" + area +")" fmt.Println("indexName:", indexName) fmt.Println("valueF:", value) //unit := "" //if strings.Contains(area, "产量") { // unit = "万吨" //} else { // unit = "%" //} item := &models.BaseFromOilchemIndex{ IndexName: indexName, ClassifyId: 5, Unit: "万吨", Frequency: "月度", Describe: "", DataTime: dataTime, Value: value, Sort: 0, CreateTime: time.Now(), ModifyTime: time.Now(), IndexNameStr: indexName, MarketName: area, } indexList = append(indexList, item) area = "" }) }) }) // 写入数据库 err = PostHandleOilchem(indexList) if err != nil { utils.FileLog.Error(fmt.Sprintf("PostHandleOilchem err:%v", err)) fmt.Println("PostHandleOilchem err", err) return } return } // 美国能源信息署最新石油库存报告 todo func AnalysisOilchemYuanYou11(htm []byte) (err error) { if len(htm) == 0 { utils.FileLog.Info("htm empty") return } doc, e := goquery.NewDocumentFromReader(strings.NewReader(string(htm))) if e != nil { err = fmt.Errorf("NewDocumentFromReader err: %v", e) return } //titleList := make([]string, 0) unitList := make([]string, 0) doc.Find("p").Each(func(i int, selection *goquery.Selection) { ptext := selection.Text() if strings.Contains(ptext, "单位:") { unit := strings.Replace(ptext, "单位:", "", -1) //fmt.Println("unit:",unit) unitList = append(unitList, unit) } //if strings.Contains(ptext, "国内独立炼厂产能利用率周数据") { // title := ptext // //fmt.Println("title:",title) // titleList = append(titleList, title) //} }) area := "" title := doc.Find("h2").Text() fmt.Println("title:", title) createTimeStr := doc.Find("h2").Next().Text() createTimeStr = strings.TrimLeft(createTimeStr, "发布时间:") createTimeStrIndex := strings.Index(createTimeStr, "来源:") createTimeStr = createTimeStr[:createTimeStrIndex] createTimeStr = strings.TrimSpace(createTimeStr) createTime, err := time.Parse(utils.HlbFormatDateTimeNoSecond, createTimeStr) if err != nil { utils.FileLog.Error(fmt.Sprintf("time.Parse err:%v", err)) return } //fmt.Println("createTime:",createTime) dataTime := createTime.Format(utils.FormatDate) //fmt.Println("dataTime:",dataTime) indexList := make([]*models.BaseFromOilchemIndex, 0) doc.Find("tbody").Each(func(tableIndex int, table *goquery.Selection) { table.Find("tr:not(.firstRow)").Each(func(ii int, table2 *goquery.Selection) { table2.Find("td").Each(func(jj int, table3 *goquery.Selection) { text3 := table3.Text() text3 = strings.Replace(text3, "\n", "", -1) text3 = strings.Replace(text3, " ", "", -1) if text3 == "上周" || text3 == "环比" || text3 == "地区" { return } //fmt.Println("table3:",text3) //utils.FileLog.Info(fmt.Sprintf("table3:%s",text3)) //fmt.Println("ii:",ii) //utils.FileLog.Info(fmt.Sprintf("ii:%d",ii)) //fmt.Println("jj:",jj) //utils.FileLog.Info(fmt.Sprintf("jj:%d",jj)) //fmt.Println("tableIndex:",tableIndex) //utils.FileLog.Info(fmt.Sprintf("tableIndex:%d",tableIndex)) if utils.ContainsChinese(text3) && text3 != "本周" { area = text3 return } if area == "" { return } value := text3 value = strings.TrimRight(value, "%") //valueF, e := strconv.ParseFloat(value, 64) //if e != nil { // err = e // utils.FileLog.Error(fmt.Sprintf("strconv.ParseFloat err:%v",e)) // return //} indexName := "中国原油按贸易方式进口量"+"(" + area +")" fmt.Println("indexName:", indexName) fmt.Println("valueF:", value) //unit := "" //if strings.Contains(area, "产量") { // unit = "万吨" //} else { // unit = "%" //} item := &models.BaseFromOilchemIndex{ IndexName: indexName, ClassifyId: 5, Unit: "万吨", Frequency: "月度", Describe: "", DataTime: dataTime, Value: value, Sort: 0, CreateTime: time.Now(), ModifyTime: time.Now(), IndexNameStr: indexName, MarketName: area, } indexList = append(indexList, item) area = "" }) }) }) // 写入数据库 err = PostHandleOilchem(indexList) if err != nil { utils.FileLog.Error(fmt.Sprintf("PostHandleOilchem err:%v", err)) fmt.Println("PostHandleOilchem err", err) return } return } // 美国API库存数据 func AnalysisOilchemYuanYou12(htm []byte) (err error) { if len(htm) == 0 { utils.FileLog.Info("htm empty") return } doc, e := goquery.NewDocumentFromReader(strings.NewReader(string(htm))) if e != nil { err = fmt.Errorf("NewDocumentFromReader err: %v", e) return } //titleList := make([]string, 0) unitList := make([]string, 0) doc.Find("p").Each(func(i int, selection *goquery.Selection) { ptext := selection.Text() if strings.Contains(ptext, "单位:") { unit := strings.Replace(ptext, "单位:", "", -1) //fmt.Println("unit:",unit) unitList = append(unitList, unit) } //if strings.Contains(ptext, "国内独立炼厂产能利用率周数据") { // title := ptext // //fmt.Println("title:",title) // titleList = append(titleList, title) //} }) area := "" title := doc.Find("h2").Text() fmt.Println("title:", title) createTimeStr := doc.Find("h2").Next().Text() createTimeStr = strings.TrimLeft(createTimeStr, "发布时间:") createTimeStrIndex := strings.Index(createTimeStr, "来源:") createTimeStr = createTimeStr[:createTimeStrIndex] createTimeStr = strings.TrimSpace(createTimeStr) createTime, err := time.Parse(utils.HlbFormatDateTimeNoSecond, createTimeStr) if err != nil { utils.FileLog.Error(fmt.Sprintf("time.Parse err:%v", err)) return } //fmt.Println("createTime:",createTime) dataTime := createTime.Format(utils.FormatDate) //fmt.Println("dataTime:",dataTime) indexList := make([]*models.BaseFromOilchemIndex, 0) doc.Find("tbody").Each(func(tableIndex int, table *goquery.Selection) { table.Find("tr:not(.firstRow)").Each(func(ii int, table2 *goquery.Selection) { table2.Find("td").Each(func(jj int, table3 *goquery.Selection) { text3 := table3.Text() text3 = strings.Replace(text3, "\n", "", -1) text3 = strings.Replace(text3, " ", "", -1) if text3 == "上周" || text3 == "环比" || text3 == "地区" { return } //fmt.Println("table3:",text3) //utils.FileLog.Info(fmt.Sprintf("table3:%s",text3)) //fmt.Println("ii:",ii) //utils.FileLog.Info(fmt.Sprintf("ii:%d",ii)) //fmt.Println("jj:",jj) //utils.FileLog.Info(fmt.Sprintf("jj:%d",jj)) //fmt.Println("tableIndex:",tableIndex) //utils.FileLog.Info(fmt.Sprintf("tableIndex:%d",tableIndex)) if utils.ContainsChinese(text3) && text3 != "本周" { area = text3 return } if area == "" { return } value := text3 value = strings.TrimRight(value, "%") //valueF, e := strconv.ParseFloat(value, 64) //if e != nil { // err = e // utils.FileLog.Error(fmt.Sprintf("strconv.ParseFloat err:%v",e)) // return //} if area == "与上周增长比" { area = "" return } indexName := "美国API原油库存数据" fmt.Println("indexName:", indexName) fmt.Println("valueF:", value) //unit := "" //if strings.Contains(area, "产量") { // unit = "万吨" //} else { // unit = "%" //} item := &models.BaseFromOilchemIndex{ IndexName: indexName, ClassifyId: 5, Unit: "亿桶", Frequency: "月度", Describe: "", DataTime: dataTime, Value: value, Sort: 0, CreateTime: time.Now(), ModifyTime: time.Now(), IndexNameStr: indexName, MarketName: "", } indexList = append(indexList, item) area = "" }) }) }) // 写入数据库 err = PostHandleOilchem(indexList) if err != nil { utils.FileLog.Error(fmt.Sprintf("PostHandleOilchem err:%v", err)) fmt.Println("PostHandleOilchem err", err) return } return } // 国际主要汇率收盘 func AnalysisOilchemYuanYou13(htm []byte) (err error) { if len(htm) == 0 { utils.FileLog.Info("htm empty") return } doc, e := goquery.NewDocumentFromReader(strings.NewReader(string(htm))) if e != nil { err = fmt.Errorf("NewDocumentFromReader err: %v", e) return } //titleList := make([]string, 0) unitList := make([]string, 0) doc.Find("p").Each(func(i int, selection *goquery.Selection) { ptext := selection.Text() if strings.Contains(ptext, "单位:") { unit := strings.Replace(ptext, "单位:", "", -1) //fmt.Println("unit:",unit) unitList = append(unitList, unit) } //if strings.Contains(ptext, "国内独立炼厂产能利用率周数据") { // title := ptext // //fmt.Println("title:",title) // titleList = append(titleList, title) //} }) area := "" title := doc.Find("h2").Text() fmt.Println("title:", title) createTimeStr := doc.Find("h2").Next().Text() createTimeStr = strings.TrimLeft(createTimeStr, "发布时间:") createTimeStrIndex := strings.Index(createTimeStr, "来源:") createTimeStr = createTimeStr[:createTimeStrIndex] createTimeStr = strings.TrimSpace(createTimeStr) createTime, err := time.Parse(utils.HlbFormatDateTimeNoSecond, createTimeStr) if err != nil { utils.FileLog.Error(fmt.Sprintf("time.Parse err:%v", err)) return } //fmt.Println("createTime:",createTime) dataTime := createTime.Format(utils.FormatDate) //fmt.Println("dataTime:",dataTime) indexList := make([]*models.BaseFromOilchemIndex, 0) doc.Find("tbody").Each(func(tableIndex int, table *goquery.Selection) { table.Find("tr:not(.firstRow)").Each(func(ii int, table2 *goquery.Selection) { table2.Find("td").Each(func(jj int, table3 *goquery.Selection) { text3 := table3.Text() text3 = strings.Replace(text3, "\n", "", -1) text3 = strings.Replace(text3, " ", "", -1) if text3 == "上周" || text3 == "环比" || text3 == "地区" { return } //fmt.Println("table3:",text3) //utils.FileLog.Info(fmt.Sprintf("table3:%s",text3)) //fmt.Println("ii:",ii) //utils.FileLog.Info(fmt.Sprintf("ii:%d",ii)) //fmt.Println("jj:",jj) //utils.FileLog.Info(fmt.Sprintf("jj:%d",jj)) //fmt.Println("tableIndex:",tableIndex) //utils.FileLog.Info(fmt.Sprintf("tableIndex:%d",tableIndex)) if utils.ContainsChinese(text3) && text3 != "本周" { area = text3 return } if area == "" { return } value := text3 value = strings.TrimRight(value, "%") //valueF, e := strconv.ParseFloat(value, 64) //if e != nil { // err = e // utils.FileLog.Error(fmt.Sprintf("strconv.ParseFloat err:%v",e)) // return //} indexName := "国际主要汇率收盘价" +"("+area+")" fmt.Println("indexName:", indexName) fmt.Println("valueF:", value) //unit := "" //if strings.Contains(area, "产量") { // unit = "万吨" //} else { // unit = "%" //} item := &models.BaseFromOilchemIndex{ IndexName: indexName, ClassifyId: 5, Unit: "无", Frequency: "月度", Describe: "", DataTime: dataTime, Value: value, Sort: 0, CreateTime: time.Now(), ModifyTime: time.Now(), IndexNameStr: "国际主要汇率收盘价", MarketName: area, } indexList = append(indexList, item) area = "" }) }) }) // 写入数据库 err = PostHandleOilchem(indexList) if err != nil { utils.FileLog.Error(fmt.Sprintf("PostHandleOilchem err:%v", err)) fmt.Println("PostHandleOilchem err", err) return } return }