@@ -3,6 +3,8 @@ package data
33import (
44 "bufio"
55 "encoding/json"
6+ "fmt"
7+ "github.com/PuerkitoBio/goquery"
68 "github.com/go-resty/resty/v2"
79 "go-stock/backend/logger"
810 "strings"
@@ -136,7 +138,7 @@ func (o OpenAi) NewChatStream(stock, stockCode string) <-chan string {
136138
137139 wg := & sync.WaitGroup {}
138140
139- wg .Add (3 )
141+ wg .Add (4 )
140142 go func () {
141143 defer wg .Done ()
142144 messages := SearchStockPriceInfo (stockCode )
@@ -149,6 +151,18 @@ func (o OpenAi) NewChatStream(stock, stockCode string) <-chan string {
149151 "content" : stock + "当前价格:" + price ,
150152 })
151153 }()
154+
155+ go func () {
156+ defer wg .Done ()
157+ messages := GetTelegraphList ()
158+ for _ , message := range * messages {
159+ msg = append (msg , map [string ]interface {}{
160+ "role" : "assistant" ,
161+ "content" : message ,
162+ })
163+ }
164+ }()
165+
152166 go func () {
153167 defer wg .Done ()
154168 messages := SearchStockInfo (stock , "depth" )
@@ -332,3 +346,25 @@ func (o OpenAi) NewCommonChatStream(stock, stockCode, apiURL, apiKey, Model stri
332346 }()
333347 return ch
334348}
349+
350+ func GetTelegraphList () * []string {
351+ url := "https://www.cls.cn/telegraph"
352+ response , err := resty .New ().R ().
353+ SetHeader ("Referer" , "https://www.cls.cn/" ).
354+ SetHeader ("User-Agent" , "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.60" ).
355+ Get (fmt .Sprintf (url ))
356+ if err != nil {
357+ return & []string {}
358+ }
359+ //logger.SugaredLogger.Info(string(response.Body()))
360+ document , err := goquery .NewDocumentFromReader (strings .NewReader (string (response .Body ())))
361+ if err != nil {
362+ return & []string {}
363+ }
364+ var telegraph []string
365+ document .Find ("div.telegraph-content-box" ).Each (func (i int , selection * goquery.Selection ) {
366+ //logger.SugaredLogger.Info(selection.Text())
367+ telegraph = append (telegraph , selection .Text ())
368+ })
369+ return & telegraph
370+ }
0 commit comments