fbcrawl-colly 0.2.2 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,416 @@
1
+ // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
2
+
3
+ package pb
4
+
5
+ import (
6
+ context "context"
7
+ grpc "google.golang.org/grpc"
8
+ codes "google.golang.org/grpc/codes"
9
+ status "google.golang.org/grpc/status"
10
+ )
11
+
12
+ // This is a compile-time assertion to ensure that this generated file
13
+ // is compatible with the grpc package it is being compiled against.
14
+ const _ = grpc.SupportPackageIsVersion6
15
+
16
+ // GrpcClient is the client API for Grpc service.
17
+ //
18
+ // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
19
+ type GrpcClient interface {
20
+ // Sends a greeting
21
+ Init(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Pointer, error)
22
+ FreeColly(ctx context.Context, in *Pointer, opts ...grpc.CallOption) (*Empty, error)
23
+ Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error)
24
+ LoginWithCookies(ctx context.Context, in *LoginWithCookiesRequest, opts ...grpc.CallOption) (*Empty, error)
25
+ FetchGroupInfo(ctx context.Context, in *FetchGroupInfoRequest, opts ...grpc.CallOption) (*FacebookGroup, error)
26
+ FetchUserInfo(ctx context.Context, in *FetchUserInfoRequest, opts ...grpc.CallOption) (*FacebookUser, error)
27
+ FetchGroupFeed(ctx context.Context, in *FetchGroupFeedRequest, opts ...grpc.CallOption) (*FacebookPostList, error)
28
+ FetchPost(ctx context.Context, in *FetchPostRequest, opts ...grpc.CallOption) (*FacebookPost, error)
29
+ FetchContentImages(ctx context.Context, in *FetchContentImagesRequest, opts ...grpc.CallOption) (*FacebookImageList, error)
30
+ FetchImageUrl(ctx context.Context, in *FetchImageUrlRequest, opts ...grpc.CallOption) (*FacebookImage, error)
31
+ }
32
+
33
+ type grpcClient struct {
34
+ cc grpc.ClientConnInterface
35
+ }
36
+
37
+ func NewGrpcClient(cc grpc.ClientConnInterface) GrpcClient {
38
+ return &grpcClient{cc}
39
+ }
40
+
41
+ func (c *grpcClient) Init(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Pointer, error) {
42
+ out := new(Pointer)
43
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/Init", in, out, opts...)
44
+ if err != nil {
45
+ return nil, err
46
+ }
47
+ return out, nil
48
+ }
49
+
50
+ func (c *grpcClient) FreeColly(ctx context.Context, in *Pointer, opts ...grpc.CallOption) (*Empty, error) {
51
+ out := new(Empty)
52
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/FreeColly", in, out, opts...)
53
+ if err != nil {
54
+ return nil, err
55
+ }
56
+ return out, nil
57
+ }
58
+
59
+ func (c *grpcClient) Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error) {
60
+ out := new(LoginResponse)
61
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/Login", in, out, opts...)
62
+ if err != nil {
63
+ return nil, err
64
+ }
65
+ return out, nil
66
+ }
67
+
68
+ func (c *grpcClient) LoginWithCookies(ctx context.Context, in *LoginWithCookiesRequest, opts ...grpc.CallOption) (*Empty, error) {
69
+ out := new(Empty)
70
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/LoginWithCookies", in, out, opts...)
71
+ if err != nil {
72
+ return nil, err
73
+ }
74
+ return out, nil
75
+ }
76
+
77
+ func (c *grpcClient) FetchGroupInfo(ctx context.Context, in *FetchGroupInfoRequest, opts ...grpc.CallOption) (*FacebookGroup, error) {
78
+ out := new(FacebookGroup)
79
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/FetchGroupInfo", in, out, opts...)
80
+ if err != nil {
81
+ return nil, err
82
+ }
83
+ return out, nil
84
+ }
85
+
86
+ func (c *grpcClient) FetchUserInfo(ctx context.Context, in *FetchUserInfoRequest, opts ...grpc.CallOption) (*FacebookUser, error) {
87
+ out := new(FacebookUser)
88
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/FetchUserInfo", in, out, opts...)
89
+ if err != nil {
90
+ return nil, err
91
+ }
92
+ return out, nil
93
+ }
94
+
95
+ func (c *grpcClient) FetchGroupFeed(ctx context.Context, in *FetchGroupFeedRequest, opts ...grpc.CallOption) (*FacebookPostList, error) {
96
+ out := new(FacebookPostList)
97
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/FetchGroupFeed", in, out, opts...)
98
+ if err != nil {
99
+ return nil, err
100
+ }
101
+ return out, nil
102
+ }
103
+
104
+ func (c *grpcClient) FetchPost(ctx context.Context, in *FetchPostRequest, opts ...grpc.CallOption) (*FacebookPost, error) {
105
+ out := new(FacebookPost)
106
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/FetchPost", in, out, opts...)
107
+ if err != nil {
108
+ return nil, err
109
+ }
110
+ return out, nil
111
+ }
112
+
113
+ func (c *grpcClient) FetchContentImages(ctx context.Context, in *FetchContentImagesRequest, opts ...grpc.CallOption) (*FacebookImageList, error) {
114
+ out := new(FacebookImageList)
115
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/FetchContentImages", in, out, opts...)
116
+ if err != nil {
117
+ return nil, err
118
+ }
119
+ return out, nil
120
+ }
121
+
122
+ func (c *grpcClient) FetchImageUrl(ctx context.Context, in *FetchImageUrlRequest, opts ...grpc.CallOption) (*FacebookImage, error) {
123
+ out := new(FacebookImage)
124
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/FetchImageUrl", in, out, opts...)
125
+ if err != nil {
126
+ return nil, err
127
+ }
128
+ return out, nil
129
+ }
130
+
131
+ // GrpcServer is the server API for Grpc service.
132
+ // All implementations must embed UnimplementedGrpcServer
133
+ // for forward compatibility
134
+ type GrpcServer interface {
135
+ // Sends a greeting
136
+ Init(context.Context, *Empty) (*Pointer, error)
137
+ FreeColly(context.Context, *Pointer) (*Empty, error)
138
+ Login(context.Context, *LoginRequest) (*LoginResponse, error)
139
+ LoginWithCookies(context.Context, *LoginWithCookiesRequest) (*Empty, error)
140
+ FetchGroupInfo(context.Context, *FetchGroupInfoRequest) (*FacebookGroup, error)
141
+ FetchUserInfo(context.Context, *FetchUserInfoRequest) (*FacebookUser, error)
142
+ FetchGroupFeed(context.Context, *FetchGroupFeedRequest) (*FacebookPostList, error)
143
+ FetchPost(context.Context, *FetchPostRequest) (*FacebookPost, error)
144
+ FetchContentImages(context.Context, *FetchContentImagesRequest) (*FacebookImageList, error)
145
+ FetchImageUrl(context.Context, *FetchImageUrlRequest) (*FacebookImage, error)
146
+ mustEmbedUnimplementedGrpcServer()
147
+ }
148
+
149
+ // UnimplementedGrpcServer must be embedded to have forward compatible implementations.
150
+ type UnimplementedGrpcServer struct {
151
+ }
152
+
153
+ func (*UnimplementedGrpcServer) Init(context.Context, *Empty) (*Pointer, error) {
154
+ return nil, status.Errorf(codes.Unimplemented, "method Init not implemented")
155
+ }
156
+ func (*UnimplementedGrpcServer) FreeColly(context.Context, *Pointer) (*Empty, error) {
157
+ return nil, status.Errorf(codes.Unimplemented, "method FreeColly not implemented")
158
+ }
159
+ func (*UnimplementedGrpcServer) Login(context.Context, *LoginRequest) (*LoginResponse, error) {
160
+ return nil, status.Errorf(codes.Unimplemented, "method Login not implemented")
161
+ }
162
+ func (*UnimplementedGrpcServer) LoginWithCookies(context.Context, *LoginWithCookiesRequest) (*Empty, error) {
163
+ return nil, status.Errorf(codes.Unimplemented, "method LoginWithCookies not implemented")
164
+ }
165
+ func (*UnimplementedGrpcServer) FetchGroupInfo(context.Context, *FetchGroupInfoRequest) (*FacebookGroup, error) {
166
+ return nil, status.Errorf(codes.Unimplemented, "method FetchGroupInfo not implemented")
167
+ }
168
+ func (*UnimplementedGrpcServer) FetchUserInfo(context.Context, *FetchUserInfoRequest) (*FacebookUser, error) {
169
+ return nil, status.Errorf(codes.Unimplemented, "method FetchUserInfo not implemented")
170
+ }
171
+ func (*UnimplementedGrpcServer) FetchGroupFeed(context.Context, *FetchGroupFeedRequest) (*FacebookPostList, error) {
172
+ return nil, status.Errorf(codes.Unimplemented, "method FetchGroupFeed not implemented")
173
+ }
174
+ func (*UnimplementedGrpcServer) FetchPost(context.Context, *FetchPostRequest) (*FacebookPost, error) {
175
+ return nil, status.Errorf(codes.Unimplemented, "method FetchPost not implemented")
176
+ }
177
+ func (*UnimplementedGrpcServer) FetchContentImages(context.Context, *FetchContentImagesRequest) (*FacebookImageList, error) {
178
+ return nil, status.Errorf(codes.Unimplemented, "method FetchContentImages not implemented")
179
+ }
180
+ func (*UnimplementedGrpcServer) FetchImageUrl(context.Context, *FetchImageUrlRequest) (*FacebookImage, error) {
181
+ return nil, status.Errorf(codes.Unimplemented, "method FetchImageUrl not implemented")
182
+ }
183
+ func (*UnimplementedGrpcServer) mustEmbedUnimplementedGrpcServer() {}
184
+
185
+ func RegisterGrpcServer(s *grpc.Server, srv GrpcServer) {
186
+ s.RegisterService(&_Grpc_serviceDesc, srv)
187
+ }
188
+
189
+ func _Grpc_Init_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
190
+ in := new(Empty)
191
+ if err := dec(in); err != nil {
192
+ return nil, err
193
+ }
194
+ if interceptor == nil {
195
+ return srv.(GrpcServer).Init(ctx, in)
196
+ }
197
+ info := &grpc.UnaryServerInfo{
198
+ Server: srv,
199
+ FullMethod: "/fbcrawl_colly.Grpc/Init",
200
+ }
201
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
202
+ return srv.(GrpcServer).Init(ctx, req.(*Empty))
203
+ }
204
+ return interceptor(ctx, in, info, handler)
205
+ }
206
+
207
+ func _Grpc_FreeColly_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
208
+ in := new(Pointer)
209
+ if err := dec(in); err != nil {
210
+ return nil, err
211
+ }
212
+ if interceptor == nil {
213
+ return srv.(GrpcServer).FreeColly(ctx, in)
214
+ }
215
+ info := &grpc.UnaryServerInfo{
216
+ Server: srv,
217
+ FullMethod: "/fbcrawl_colly.Grpc/FreeColly",
218
+ }
219
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
220
+ return srv.(GrpcServer).FreeColly(ctx, req.(*Pointer))
221
+ }
222
+ return interceptor(ctx, in, info, handler)
223
+ }
224
+
225
+ func _Grpc_Login_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
226
+ in := new(LoginRequest)
227
+ if err := dec(in); err != nil {
228
+ return nil, err
229
+ }
230
+ if interceptor == nil {
231
+ return srv.(GrpcServer).Login(ctx, in)
232
+ }
233
+ info := &grpc.UnaryServerInfo{
234
+ Server: srv,
235
+ FullMethod: "/fbcrawl_colly.Grpc/Login",
236
+ }
237
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
238
+ return srv.(GrpcServer).Login(ctx, req.(*LoginRequest))
239
+ }
240
+ return interceptor(ctx, in, info, handler)
241
+ }
242
+
243
+ func _Grpc_LoginWithCookies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
244
+ in := new(LoginWithCookiesRequest)
245
+ if err := dec(in); err != nil {
246
+ return nil, err
247
+ }
248
+ if interceptor == nil {
249
+ return srv.(GrpcServer).LoginWithCookies(ctx, in)
250
+ }
251
+ info := &grpc.UnaryServerInfo{
252
+ Server: srv,
253
+ FullMethod: "/fbcrawl_colly.Grpc/LoginWithCookies",
254
+ }
255
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
256
+ return srv.(GrpcServer).LoginWithCookies(ctx, req.(*LoginWithCookiesRequest))
257
+ }
258
+ return interceptor(ctx, in, info, handler)
259
+ }
260
+
261
+ func _Grpc_FetchGroupInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
262
+ in := new(FetchGroupInfoRequest)
263
+ if err := dec(in); err != nil {
264
+ return nil, err
265
+ }
266
+ if interceptor == nil {
267
+ return srv.(GrpcServer).FetchGroupInfo(ctx, in)
268
+ }
269
+ info := &grpc.UnaryServerInfo{
270
+ Server: srv,
271
+ FullMethod: "/fbcrawl_colly.Grpc/FetchGroupInfo",
272
+ }
273
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
274
+ return srv.(GrpcServer).FetchGroupInfo(ctx, req.(*FetchGroupInfoRequest))
275
+ }
276
+ return interceptor(ctx, in, info, handler)
277
+ }
278
+
279
+ func _Grpc_FetchUserInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
280
+ in := new(FetchUserInfoRequest)
281
+ if err := dec(in); err != nil {
282
+ return nil, err
283
+ }
284
+ if interceptor == nil {
285
+ return srv.(GrpcServer).FetchUserInfo(ctx, in)
286
+ }
287
+ info := &grpc.UnaryServerInfo{
288
+ Server: srv,
289
+ FullMethod: "/fbcrawl_colly.Grpc/FetchUserInfo",
290
+ }
291
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
292
+ return srv.(GrpcServer).FetchUserInfo(ctx, req.(*FetchUserInfoRequest))
293
+ }
294
+ return interceptor(ctx, in, info, handler)
295
+ }
296
+
297
+ func _Grpc_FetchGroupFeed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
298
+ in := new(FetchGroupFeedRequest)
299
+ if err := dec(in); err != nil {
300
+ return nil, err
301
+ }
302
+ if interceptor == nil {
303
+ return srv.(GrpcServer).FetchGroupFeed(ctx, in)
304
+ }
305
+ info := &grpc.UnaryServerInfo{
306
+ Server: srv,
307
+ FullMethod: "/fbcrawl_colly.Grpc/FetchGroupFeed",
308
+ }
309
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
310
+ return srv.(GrpcServer).FetchGroupFeed(ctx, req.(*FetchGroupFeedRequest))
311
+ }
312
+ return interceptor(ctx, in, info, handler)
313
+ }
314
+
315
+ func _Grpc_FetchPost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
316
+ in := new(FetchPostRequest)
317
+ if err := dec(in); err != nil {
318
+ return nil, err
319
+ }
320
+ if interceptor == nil {
321
+ return srv.(GrpcServer).FetchPost(ctx, in)
322
+ }
323
+ info := &grpc.UnaryServerInfo{
324
+ Server: srv,
325
+ FullMethod: "/fbcrawl_colly.Grpc/FetchPost",
326
+ }
327
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
328
+ return srv.(GrpcServer).FetchPost(ctx, req.(*FetchPostRequest))
329
+ }
330
+ return interceptor(ctx, in, info, handler)
331
+ }
332
+
333
+ func _Grpc_FetchContentImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
334
+ in := new(FetchContentImagesRequest)
335
+ if err := dec(in); err != nil {
336
+ return nil, err
337
+ }
338
+ if interceptor == nil {
339
+ return srv.(GrpcServer).FetchContentImages(ctx, in)
340
+ }
341
+ info := &grpc.UnaryServerInfo{
342
+ Server: srv,
343
+ FullMethod: "/fbcrawl_colly.Grpc/FetchContentImages",
344
+ }
345
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
346
+ return srv.(GrpcServer).FetchContentImages(ctx, req.(*FetchContentImagesRequest))
347
+ }
348
+ return interceptor(ctx, in, info, handler)
349
+ }
350
+
351
+ func _Grpc_FetchImageUrl_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
352
+ in := new(FetchImageUrlRequest)
353
+ if err := dec(in); err != nil {
354
+ return nil, err
355
+ }
356
+ if interceptor == nil {
357
+ return srv.(GrpcServer).FetchImageUrl(ctx, in)
358
+ }
359
+ info := &grpc.UnaryServerInfo{
360
+ Server: srv,
361
+ FullMethod: "/fbcrawl_colly.Grpc/FetchImageUrl",
362
+ }
363
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
364
+ return srv.(GrpcServer).FetchImageUrl(ctx, req.(*FetchImageUrlRequest))
365
+ }
366
+ return interceptor(ctx, in, info, handler)
367
+ }
368
+
369
+ var _Grpc_serviceDesc = grpc.ServiceDesc{
370
+ ServiceName: "fbcrawl_colly.Grpc",
371
+ HandlerType: (*GrpcServer)(nil),
372
+ Methods: []grpc.MethodDesc{
373
+ {
374
+ MethodName: "Init",
375
+ Handler: _Grpc_Init_Handler,
376
+ },
377
+ {
378
+ MethodName: "FreeColly",
379
+ Handler: _Grpc_FreeColly_Handler,
380
+ },
381
+ {
382
+ MethodName: "Login",
383
+ Handler: _Grpc_Login_Handler,
384
+ },
385
+ {
386
+ MethodName: "LoginWithCookies",
387
+ Handler: _Grpc_LoginWithCookies_Handler,
388
+ },
389
+ {
390
+ MethodName: "FetchGroupInfo",
391
+ Handler: _Grpc_FetchGroupInfo_Handler,
392
+ },
393
+ {
394
+ MethodName: "FetchUserInfo",
395
+ Handler: _Grpc_FetchUserInfo_Handler,
396
+ },
397
+ {
398
+ MethodName: "FetchGroupFeed",
399
+ Handler: _Grpc_FetchGroupFeed_Handler,
400
+ },
401
+ {
402
+ MethodName: "FetchPost",
403
+ Handler: _Grpc_FetchPost_Handler,
404
+ },
405
+ {
406
+ MethodName: "FetchContentImages",
407
+ Handler: _Grpc_FetchContentImages_Handler,
408
+ },
409
+ {
410
+ MethodName: "FetchImageUrl",
411
+ Handler: _Grpc_FetchImageUrl_Handler,
412
+ },
413
+ },
414
+ Streams: []grpc.StreamDesc{},
415
+ Metadata: "fbcrawl.proto",
416
+ }
data/go.mod CHANGED
@@ -4,21 +4,15 @@ go 1.14
4
4
 
5
5
  require (
6
6
  github.com/PuerkitoBio/goquery v1.5.1
7
- github.com/andybalholm/cascadia v1.2.0 // indirect
8
- github.com/antchfx/htmlquery v1.2.3 // indirect
9
- github.com/antchfx/xmlquery v1.2.4 // indirect
10
- github.com/antchfx/xpath v1.1.9 // indirect
11
- github.com/gobwas/glob v0.2.3 // indirect
12
- github.com/gocolly/colly v1.2.0
7
+ github.com/gocolly/colly/v2 v2.1.0
13
8
  github.com/golang/protobuf v1.4.2
14
9
  github.com/google/logger v1.1.0
15
- github.com/kennygrant/sanitize v1.2.4 // indirect
10
+ github.com/hashicorp/golang-lru v0.5.4
16
11
  github.com/olebedev/when v0.0.0-20190311101825-c3b538a97254
17
- github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca // indirect
18
- github.com/temoto/robotstxt v1.1.1 // indirect
19
12
  github.com/thoas/go-funk v0.7.0
13
+ github.com/xlzd/gotp v0.0.0-20181030022105-c8557ba2c119
20
14
  golang.org/x/net v0.0.0-20200707034311-ab3426394381 // indirect
21
- golang.org/x/text v0.3.3 // indirect
22
- google.golang.org/appengine v1.6.6 // indirect
15
+ google.golang.org/grpc v1.27.0
16
+ google.golang.org/grpc/cmd/protoc-gen-go-grpc v0.0.0-20200814200710-a3740e5ed326 // indirect
23
17
  google.golang.org/protobuf v1.25.0
24
18
  )
data/go.sum CHANGED
@@ -4,7 +4,6 @@ github.com/AlekSi/pointer v1.0.0/go.mod h1:1kjywbfcPFCmncIxtk6fIEub6LKrfMz3gc5QK
4
4
  github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
5
5
  github.com/PuerkitoBio/goquery v1.5.1 h1:PSPBGne8NIUWw+/7vFBV+kG2J/5MOjbzc7154OaKCSE=
6
6
  github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
7
- github.com/andybalholm/cascadia v1.1.0 h1:BuuO6sSfQNFRu1LppgbD25Hr2vLYW25JvxHs5zzsLTo=
8
7
  github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y=
9
8
  github.com/andybalholm/cascadia v1.2.0 h1:vuRCkM5Ozh/BfmsaTm26kbjm0mIOM3yS5Ek/F5h18aE=
10
9
  github.com/andybalholm/cascadia v1.2.0/go.mod h1:YCyR8vOZT9aZ1CHEd8ap0gMVm2aFgxBp0T0eFw1RUQY=
@@ -12,14 +11,13 @@ github.com/antchfx/htmlquery v1.2.3 h1:sP3NFDneHx2stfNXCKbhHFo8XgNjCACnU/4AO5gWz
12
11
  github.com/antchfx/htmlquery v1.2.3/go.mod h1:B0ABL+F5irhhMWg54ymEZinzMSi0Kt3I2if0BLYa3V0=
13
12
  github.com/antchfx/xmlquery v1.2.4 h1:T/SH1bYdzdjTMoz2RgsfVKbM5uWh3gjDYYepFqQmFv4=
14
13
  github.com/antchfx/xmlquery v1.2.4/go.mod h1:KQQuESaxSlqugE2ZBcM/qn+ebIpt+d+4Xx7YcSGAIrM=
15
- github.com/antchfx/xpath v1.1.6 h1:6sVh6hB5T6phw1pFpHRQ+C4bd8sNI+O58flqtg7h0R0=
16
14
  github.com/antchfx/xpath v1.1.6/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk=
17
- github.com/antchfx/xpath v1.1.9 h1:s3QDSTRoZMK6EqLajCUt/BJMUATPHvzwlRqKqg12yjU=
18
- github.com/antchfx/xpath v1.1.9/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk=
15
+ github.com/antchfx/xpath v1.1.8 h1:PcL6bIX42Px5usSx6xRYw/wjB3wYGkj0MJ9MBzEKVgk=
16
+ github.com/antchfx/xpath v1.1.8/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk=
19
17
  github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
20
18
  github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
21
- github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
22
19
  github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
20
+ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
23
21
  github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
24
22
  github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
25
23
  github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
@@ -27,12 +25,14 @@ github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
27
25
  github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
28
26
  github.com/gocolly/colly v1.2.0 h1:qRz9YAn8FIH0qzgNUw+HT9UN7wm1oF9OBAilwEWpyrI=
29
27
  github.com/gocolly/colly v1.2.0/go.mod h1:Hof5T3ZswNVsOHYmba1u03W65HDWgpV5HifSuueE0EA=
28
+ github.com/gocolly/colly/v2 v2.1.0 h1:k0DuZkDoCsx51bKpRJNEmcxcp+W5N8ziuwGaSDuFoGs=
29
+ github.com/gocolly/colly/v2 v2.1.0/go.mod h1:I2MuhsLjQ+Ex+IzK3afNS8/1qP3AedHOusRPcRdC5o0=
30
+ github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
30
31
  github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
31
32
  github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY=
32
33
  github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
33
34
  github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
34
35
  github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
35
- github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
36
36
  github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
37
37
  github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
38
38
  github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
@@ -51,6 +51,9 @@ github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
51
51
  github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
52
52
  github.com/google/logger v1.1.0 h1:saB74Etb4EAJNH3z74CVbCKk75hld/8T0CsXKetWCwM=
53
53
  github.com/google/logger v1.1.0/go.mod h1:w7O8nrRr0xufejBlQMI83MXqRusvREoJdaAxV+CoAB4=
54
+ github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
55
+ github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
56
+ github.com/jawher/mow.cli v1.1.0/go.mod h1:aNaQlc7ozF3vw6IJ2dHjp2ZFiA4ozMIYY6PyuRJwlUg=
54
57
  github.com/kennygrant/sanitize v1.2.4 h1:gN25/otpP5vAsO2djbMhF/LQX6R7+O1TB4yv8NzpJ3o=
55
58
  github.com/kennygrant/sanitize v1.2.4/go.mod h1:LGsjYYtgxbetdg5owWB2mpgUL6e2nfw2eObZ0u0qvak=
56
59
  github.com/olebedev/when v0.0.0-20190311101825-c3b538a97254 h1:JYoQR67E1vv1WGoeW8DkdFs7vrIEe/5wP+qJItd5tUE=
@@ -63,7 +66,7 @@ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:
63
66
  github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca h1:NugYot0LIVPxTvN8n+Kvkn6TrbMyxQiuvKdEwFdR9vI=
64
67
  github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca/go.mod h1:uugorj2VCxiV1x+LzaIdVa9b4S4qGAcH6cbhh4qVxOU=
65
68
  github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
66
- github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
69
+ github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
67
70
  github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
68
71
  github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
69
72
  github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
@@ -71,7 +74,10 @@ github.com/temoto/robotstxt v1.1.1 h1:Gh8RCs8ouX3hRSxxK7B1mO5RFByQ4CmJZDwgom++Ja
71
74
  github.com/temoto/robotstxt v1.1.1/go.mod h1:+1AmkuG3IYkh1kv0d2qEB9Le88ehNO0zwOr3ujewlOo=
72
75
  github.com/thoas/go-funk v0.7.0 h1:GmirKrs6j6zJbhJIficOsz2aAI7700KsU/5YrdHRM1Y=
73
76
  github.com/thoas/go-funk v0.7.0/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q=
77
+ github.com/xlzd/gotp v0.0.0-20181030022105-c8557ba2c119 h1:YyPWX3jLOtYKulBR6AScGIs74lLrJcgeKRwcbAuQOG4=
78
+ github.com/xlzd/gotp v0.0.0-20181030022105-c8557ba2c119/go.mod h1:/nuTSlK+okRfR/vnIPqR89fFKonnWPiZymN5ydRJkX8=
74
79
  golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
80
+ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
75
81
  golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
76
82
  golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
77
83
  golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -86,6 +92,7 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
86
92
  golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
87
93
  golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
88
94
  golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
95
+ golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
89
96
  golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU=
90
97
  golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
91
98
  golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -100,13 +107,12 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w
100
107
  golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
101
108
  golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
102
109
  golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
103
- golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
104
- golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
105
110
  golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
106
111
  golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
107
112
  golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
108
113
  golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
109
114
  golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
115
+ golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
110
116
  golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
111
117
  golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
112
118
  google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
@@ -115,19 +121,24 @@ google.golang.org/appengine v1.6.6 h1:lMO5rYAqUxkmaj76jAkRUvt5JZgFymx/+Q5Mzfivuh
115
121
  google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
116
122
  google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
117
123
  google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
124
+ google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY=
118
125
  google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
119
126
  google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
120
127
  google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
128
+ google.golang.org/grpc v1.27.0 h1:rRYRFMVgRv6E0D70Skyfsr28tDXIuuPZyWGMPdMcnXg=
121
129
  google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
130
+ google.golang.org/grpc v1.31.0 h1:T7P4R73V3SSDPhH7WW7ATbfViLtmamH0DKrP3f9AuDI=
131
+ google.golang.org/grpc/cmd/protoc-gen-go-grpc v0.0.0-20200814200710-a3740e5ed326 h1:9xXKDULLQoff9XAN3whAGrh4vrLLvydDbmFGWofOWI0=
132
+ google.golang.org/grpc/cmd/protoc-gen-go-grpc v0.0.0-20200814200710-a3740e5ed326/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
122
133
  google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
123
134
  google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
124
135
  google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
125
136
  google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
126
137
  google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
127
138
  google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
128
- google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM=
129
139
  google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
130
140
  google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
141
+ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
131
142
  google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
132
143
  google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
133
144
  gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=