完成openrec源的获取.
This commit is contained in:
@@ -8,9 +8,11 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/474420502/hunter"
|
||||
"github.com/tidwall/gjson"
|
||||
)
|
||||
|
||||
var targetTypeRanking = "openrec_ranking"
|
||||
var targetTypeUser = "openrec_user"
|
||||
var openrecRanking *OpenrecRanking
|
||||
|
||||
// store 源存储实例, 为存储源数据的实现. 表格具体参考sql/intimate_source.sql
|
||||
@@ -44,7 +46,6 @@ func (or *OpenrecRanking) Execute(cxt *hunter.TaskContext) {
|
||||
|
||||
for {
|
||||
|
||||
errorMsg := sql.NullString{Valid: false}
|
||||
resp, err := cxt.Hunt()
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
@@ -53,36 +54,34 @@ func (or *OpenrecRanking) Execute(cxt *hunter.TaskContext) {
|
||||
|
||||
wf := cxt.Workflow()
|
||||
|
||||
data := &intimate.Source{}
|
||||
content := resp.Content()
|
||||
if len(content) <= 200 {
|
||||
return
|
||||
}
|
||||
|
||||
data.SetSource(sql.NullString{String: string(content), Valid: len(content) > 0})
|
||||
data.SetUrl(wf.GetRawURL())
|
||||
data.SetTargetType(targetTypeRanking)
|
||||
result := gjson.ParseBytes(content)
|
||||
if result.IsArray() {
|
||||
for _, User := range result.Array() {
|
||||
data := &intimate.Source{}
|
||||
userid := User.Get("channel.id").String()
|
||||
|
||||
data.SetSource(sql.NullString{String: userid, Valid: len(userid) > 0})
|
||||
data.SetUrl(wf.GetRawURL())
|
||||
data.SetTargetType(targetTypeUser)
|
||||
store.Insert(data)
|
||||
}
|
||||
}
|
||||
|
||||
querys := wf.GetQuery()
|
||||
page, err := strconv.Atoi(querys.Get("page"))
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
errorMsg.String = err.Error()
|
||||
errorMsg.Valid = true
|
||||
|
||||
data.SetErrorMsg(errorMsg)
|
||||
data.SetOperator(10000)
|
||||
store.Insert(data)
|
||||
return
|
||||
}
|
||||
|
||||
page++
|
||||
querys.Set("page", strconv.Itoa(page))
|
||||
wf.SetQuery(querys)
|
||||
|
||||
data.SetErrorMsg(errorMsg)
|
||||
store.Insert(data)
|
||||
|
||||
time.Sleep(time.Second * 2)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user