xueqiu

package module
v0.0.0-...-bf7d544 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 10, 2024 License: MIT Imports: 8 Imported by: 0

README

xueqiu

雪球API Go版本。

注意

运行需要雪球token,获取雪球token的参考:滚雪球 -- 提取雪球数据API Token

token在Cookie的xq_a_token

运行示例

# 使用环境变量
export XQTOKEN="token1234567890"
go run example/main.go

运行结果

image-20210912133855322

Documentation

Index

Constants

View Source
const (
	StockTypeUS = 0
	StockTypeCN = 11
	StockTypeHK = 30
)
View Source
const TokenEnvKey = "XQTOKEN"

TokenEnvKey 环境变量中的token字段名字

Variables

This section is empty.

Functions

This section is empty.

Types

type CategoryType

type CategoryType string
const (
	CateDynamic CategoryType = "dynamic"
	CateEvent   CategoryType = "event"
)

type CompanyReport

type CompanyReport struct {
	Title           string  `json:"title"`
	ReportCompany   string  `json:"rpt_comp"`
	RatingDesc      string  `json:"rating_desc"`
	TargetPriceMin  float32 `json:"target_price_min"`
	TargetPrinceMax float32 `json:"target_prince_max"`

	StatusID    int    `json:"status_id"`              // 猜测是这篇评论的id
	PubDate     int64  `json:"pub_date,omitempty"`     // 雪球正常返回结果,unix时间戳(ms)
	PublishDate string `json:"publish_date,omitempty"` // 使用日期返回
}

type FavStock

type FavStock struct {
	Stock

	Remark   string `json:"remark"`
	Exchange string `json:"exchange"`
	Created  int64  `json:"created"`
}

type LiveNews

type LiveNews struct {
	ID        int    `json:"id"`
	Text      string `json:"text"`
	Target    string `json:"target"`
	CreatedAt int64  `json:"created_at"` // unix时间戳,单位ms
	Mark      int    `json:"mark"`       // mark=1表示是重要新闻
}

type M

type M map[string]interface{}

type RespCompanyReports

type RespCompanyReports struct {
	List []*CompanyReport `json:"list"`
}

type RespLiveNews

type RespLiveNews struct {
	NextMaxID int         `json:"next_max_id,omitempty"` // 当前items中,最早的一条新闻的id。
	NextID    int         `json:"next_id,omitempty"`     // 目前还不知道是什么。
	Items     []*LiveNews `json:"items,omitempty"`
}

type RespStareItem

type RespStareItem struct {
	Data struct {
		Items []*StareItem `json:"items"`
	} `json:"data"`
}

type RespUserStocks

type RespUserStocks struct {
	ErrorCode        int    `json:"error_code"`
	ErrorDescription string `json:"error_description"`

	Item *UserStocks `json:"data"`
}

type StareItem

type StareItem struct {
	Stock

	Timestamp    int64        `json:"timestamp"`  // 时间戳。单位ms
	StareKey     string       `json:"stare_key"`  // 小icon,fall。
	StareType    string       `json:"stare_type"` // 小icon,跌幅。
	Text         string       `json:"text"`
	Category     CategoryType `json:"category"` // dynamic or event
	CurrentPrice float32      `json:"current"`  // 当前的价钱
	Percent      float32      `json:"percent"`  // 涨跌幅
}

type Stock

type Stock struct {
	Symbol string    `json:"symbol"` // 股票代码(SZ000858,SH600519)
	Name   string    `json:"name"`   // 股票中文名字
	Type   StockType `json:"type"`   // 股票上市地方
}

type StockReports

type StockReports struct {
	FavStock       *FavStock
	CompanyReports []*CompanyReport
}

type StockType

type StockType uint16

StockType 股票的上市地区

type UserStocks

type UserStocks struct {
	Pid      int `json:"pid"`
	Category int `json:"category"`

	Stocks []*FavStock `json:"stocks"`
}

type Xueqiu

type Xueqiu struct {
	// contains filtered or unexported fields
}

func New

func New(token string) (*Xueqiu, error)

New to create a xueqiu robot. To follow the step to get a token: https://blog.crackcreed.com/diy-xue-qiu-app-shu-ju-api/

func NewWithEnvToken

func NewWithEnvToken() (*Xueqiu, error)

NewWithEnvToken must get token from os.Env("XQTOKEN").

func (*Xueqiu) CheckHealth

func (xq *Xueqiu) CheckHealth(ctx context.Context) error

func (*Xueqiu) GetCompanyReport

func (xq *Xueqiu) GetCompanyReport(ctx context.Context, stockSymbol string) ([]*CompanyReport, error)

func (*Xueqiu) GetDynamicStareItems

func (xq *Xueqiu) GetDynamicStareItems(ctx context.Context) ([]*StareItem, error)

GetDynamicStareItems 获取关注动态

func (*Xueqiu) GetEventStareItems

func (xq *Xueqiu) GetEventStareItems(ctx context.Context) ([]*StareItem, error)

GetEventStareItems 获取关注动态

func (*Xueqiu) GetLiveNews

func (xq *Xueqiu) GetLiveNews(ctx context.Context) (*RespLiveNews, error)

GetLiveNews 获取7*24新闻

func (*Xueqiu) GetMarkLiveNews

func (xq *Xueqiu) GetMarkLiveNews(ctx context.Context) (*RespLiveNews, error)

GetMarkLiveNews 获取7*24重要新闻

func (*Xueqiu) GetUserFollowReports

func (xq *Xueqiu) GetUserFollowReports(ctx context.Context) (map[string]StockReports, error)

GetUserFollowReports 获取用户关注的公司报告。 返回: <stock_symbol: reports>

func (*Xueqiu) GetUserStocks

func (xq *Xueqiu) GetUserStocks(ctx context.Context) (*UserStocks, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL