This commit is contained in:
parent
6d247632b7
commit
075a4812e4
@ -6,9 +6,9 @@ import (
|
||||
"gitea.timerzz.com/kedaya_haitao/common/pkg/proxy"
|
||||
restry_pool "gitea.timerzz.com/kedaya_haitao/common/pkg/restry-pool"
|
||||
"github.com/go-resty/resty/v2"
|
||||
"github.com/golang/glog"
|
||||
"github.com/pkg/errors"
|
||||
proxy2 "github.com/timerzz/proxypool/pkg/proxy"
|
||||
"log/slog"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -30,7 +30,7 @@ func (c *Client) ViewAllBags(ctx context.Context, page int) (resp PageDataRespon
|
||||
}
|
||||
sctx, cancel := context.WithTimeout(ctx, c.defaultTimeOut)
|
||||
defer cancel()
|
||||
urlPath := fmt.Sprintf("https://www.coachoutlet.com/api/get-shop/bags/view-all?page=%s", page)
|
||||
urlPath := fmt.Sprintf("https://www.coachoutlet.com/api/get-shop/bags/view-all?page=%d", page)
|
||||
err = tryRequest(sctx, urlPath, &resp, c.pool.RandomIterator())
|
||||
return
|
||||
}
|
||||
@ -45,7 +45,7 @@ func tryRequest(ctx context.Context, urlPath string, respData any, proxyGetter f
|
||||
}
|
||||
_, err := callByProxy(ctx, p, urlPath, respData)
|
||||
if err != nil {
|
||||
slog.Debug(err.Error())
|
||||
glog.Error(err)
|
||||
continue
|
||||
}
|
||||
return nil
|
||||
|
18
pkg/coach-client/client_test.go
Normal file
18
pkg/coach-client/client_test.go
Normal file
@ -0,0 +1,18 @@
|
||||
package coach_client
|
||||
|
||||
import (
|
||||
"context"
|
||||
"gitea.timerzz.com/kedaya_haitao/common/pkg/proxy"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestClient(t *testing.T) {
|
||||
subs := []string{"https://us.timerzz.com:26106/vmess/sub", "https://us.timerzz.com:26106/trojan/sub", "https://us.timerzz.com:26106/ssr/sub"}
|
||||
pool := proxy.NewProxyPool(subs)
|
||||
client := NewClient(pool)
|
||||
resp, err := client.ViewAllBags(context.Background(), 1)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(resp)
|
||||
}
|
@ -1,11 +1,13 @@
|
||||
package coach_client
|
||||
|
||||
type PageDataResponse struct {
|
||||
Total int `json:"total"`
|
||||
Page int `json:"page"`
|
||||
TotalPages int `json:"totalPages"`
|
||||
PageSize int `json:"pageSize"`
|
||||
Products []Product `json:"products"`
|
||||
PageData struct {
|
||||
Total int `json:"total"`
|
||||
Page int `json:"page"`
|
||||
TotalPages int `json:"totalPages"`
|
||||
PageSize int `json:"pageSize"`
|
||||
Products []Product `json:"products"`
|
||||
} `json:"pageData"`
|
||||
}
|
||||
type Product struct {
|
||||
Name string `json:"name"`
|
||||
|
@ -67,9 +67,9 @@ func (c *Controller) Crawl() error {
|
||||
if err != nil {
|
||||
return fmt.Errorf("访问coach第%d页失败: %w", page, err)
|
||||
}
|
||||
totalPage = resp.TotalPages
|
||||
totalPage = resp.PageData.TotalPages
|
||||
|
||||
if err = c.saveRespData(resp.Products); err != nil {
|
||||
if err = c.saveRespData(resp.PageData.Products); err != nil {
|
||||
return fmt.Errorf("保存第%d页数据失败: %w", page, err)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user