Skip to content
Snippets Groups Projects
Verified Commit 28098b4c authored by Théo Pirkl's avatar Théo Pirkl :nail_care:
Browse files

Advances measures, thesis, changes DownloadFilesFromBrowser.py to avoid DDoS effect

parent 330faa2f
Branches
No related tags found
No related merge requests found
Showing
with 164 additions and 115 deletions
id,client_id,workflow_id,data,status,created_at,updated_at
1,1,13,"{""page"": ""0""}",2,2020-07-13 11:40:13,2020-07-13 11:40:32
2,1,13,"{""page"": ""1""}",2,2020-07-13 11:40:13,2020-07-13 11:40:31
3,1,13,"{""page"": ""2""}",2,2020-07-13 11:40:13,2020-07-13 11:40:42
4,1,13,"{""page"": ""3""}",2,2020-07-13 11:40:13,2020-07-13 11:40:43
5,1,13,"{""page"": ""4""}",2,2020-07-13 11:40:13,2020-07-13 11:40:53
6,1,13,"{""page"": ""5""}",2,2020-07-13 11:40:13,2020-07-13 11:40:53
7,1,13,"{""page"": ""6""}",2,2020-07-13 11:40:13,2020-07-13 11:41:03
8,1,13,"{""page"": ""7""}",2,2020-07-13 11:40:13,2020-07-13 11:41:04
9,1,13,"{""page"": ""8""}",2,2020-07-13 11:40:13,2020-07-13 11:41:14
10,1,13,"{""page"": ""9""}",2,2020-07-13 11:40:13,2020-07-13 11:41:15
11,1,13,"{""page"": ""10""}",2,2020-07-13 11:40:13,2020-07-13 11:41:25
12,1,13,"{""page"": ""11""}",2,2020-07-13 11:40:13,2020-07-13 11:41:26
13,1,13,"{""page"": ""12""}",2,2020-07-13 11:40:13,2020-07-13 11:41:34
14,1,13,"{""page"": ""13""}",2,2020-07-13 11:40:13,2020-07-13 11:41:36
15,1,13,"{""page"": ""14""}",2,2020-07-13 11:40:13,2020-07-13 11:41:45
16,1,13,"{""page"": ""15""}",2,2020-07-13 11:40:13,2020-07-13 11:41:46
17,1,13,"{""page"": ""16""}",2,2020-07-13 11:40:13,2020-07-13 11:41:55
18,1,13,"{""page"": ""17""}",2,2020-07-13 11:40:13,2020-07-13 11:41:57
19,1,13,"{""page"": ""18""}",2,2020-07-13 11:40:13,2020-07-13 11:42:05
20,1,13,"{""page"": ""19""}",2,2020-07-13 11:40:13,2020-07-13 11:42:07
21,1,13,"{""page"": ""20""}",2,2020-07-13 11:40:13,2020-07-13 11:42:15
22,1,13,"{""page"": ""21""}",2,2020-07-13 11:40:13,2020-07-13 11:42:18
23,1,13,"{""page"": ""22""}",2,2020-07-13 11:40:13,2020-07-13 11:42:25
24,1,13,"{""page"": ""23""}",2,2020-07-13 11:40:13,2020-07-13 11:42:28
25,1,13,"{""page"": ""24""}",2,2020-07-13 11:40:13,2020-07-13 11:42:34
26,1,13,"{""page"": ""25""}",2,2020-07-13 11:40:13,2020-07-13 11:42:43
27,1,13,"{""page"": ""26""}",2,2020-07-13 11:40:13,2020-07-13 11:42:45
28,1,13,"{""page"": ""27""}",2,2020-07-13 11:40:13,2020-07-13 11:42:53
29,1,13,"{""page"": ""28""}",2,2020-07-13 11:40:13,2020-07-13 11:42:55
30,1,13,"{""page"": ""29""}",2,2020-07-13 11:40:13,2020-07-13 11:43:04
31,1,13,"{""page"": ""30""}",2,2020-07-13 11:40:13,2020-07-13 11:43:06
32,1,13,"{""page"": ""31""}",2,2020-07-13 11:40:13,2020-07-13 11:43:14
33,1,13,"{""page"": ""32""}",2,2020-07-13 11:40:13,2020-07-13 11:43:17
34,1,13,"{""page"": ""33""}",2,2020-07-13 11:40:13,2020-07-13 11:43:24
35,1,13,"{""page"": ""34""}",2,2020-07-13 11:40:13,2020-07-13 11:43:27
36,1,13,"{""page"": ""35""}",2,2020-07-13 11:40:13,2020-07-13 11:43:35
37,1,13,"{""page"": ""36""}",2,2020-07-13 11:40:13,2020-07-13 11:43:37
38,1,13,"{""page"": ""37""}",2,2020-07-13 11:40:13,2020-07-13 11:43:45
39,1,13,"{""page"": ""38""}",2,2020-07-13 11:40:13,2020-07-13 11:43:47
40,1,13,"{""page"": ""39""}",2,2020-07-13 11:40:13,2020-07-13 11:43:56
41,1,13,"{""page"": ""40""}",2,2020-07-13 11:40:13,2020-07-13 11:43:57
42,1,13,"{""page"": ""41""}",2,2020-07-13 11:40:13,2020-07-13 11:44:07
43,1,13,"{""page"": ""42""}",2,2020-07-13 11:40:13,2020-07-13 11:44:08
44,1,13,"{""page"": ""43""}",2,2020-07-13 11:40:13,2020-07-13 11:44:17
45,1,13,"{""page"": ""44""}",2,2020-07-13 11:40:13,2020-07-13 11:44:19
46,1,13,"{""page"": ""45""}",2,2020-07-13 11:40:13,2020-07-13 11:44:27
47,1,13,"{""page"": ""46""}",2,2020-07-13 11:40:13,2020-07-13 11:44:29
48,1,13,"{""page"": ""47""}",2,2020-07-13 11:40:13,2020-07-13 11:44:38
49,1,13,"{""page"": ""48""}",2,2020-07-13 11:40:13,2020-07-13 11:44:40
50,1,13,"{""page"": ""49""}",2,2020-07-13 11:40:13,2020-07-13 11:44:47
51,1,13,"{""page"": ""50""}",2,2020-07-13 11:40:13,2020-07-13 11:44:50
52,1,13,"{""page"": ""51""}",2,2020-07-13 11:40:13,2020-07-13 11:44:57
53,1,13,"{""page"": ""52""}",2,2020-07-13 11:40:13,2020-07-13 11:45:00
54,1,13,"{""page"": ""53""}",2,2020-07-13 11:40:13,2020-07-13 11:45:08
55,1,13,"{""page"": ""54""}",2,2020-07-13 11:40:13,2020-07-13 11:45:10
56,1,13,"{""page"": ""55""}",2,2020-07-13 11:40:13,2020-07-13 11:45:18
57,1,13,"{""page"": ""56""}",2,2020-07-13 11:40:13,2020-07-13 11:45:21
58,1,13,"{""page"": ""57""}",2,2020-07-13 11:40:13,2020-07-13 11:45:28
59,1,13,"{""page"": ""58""}",2,2020-07-13 11:40:13,2020-07-13 11:45:32
60,1,13,"{""page"": ""59""}",2,2020-07-13 11:40:13,2020-07-13 11:45:39
61,1,13,"{""page"": ""60""}",2,2020-07-13 11:40:13,2020-07-13 11:45:42
62,1,13,"{""page"": ""61""}",2,2020-07-13 11:40:13,2020-07-13 11:45:49
63,1,13,"{""page"": ""62""}",2,2020-07-13 11:40:13,2020-07-13 11:45:52
64,1,13,"{""page"": ""63""}",2,2020-07-13 11:40:13,2020-07-13 11:46:00
65,1,13,"{""page"": ""64""}",2,2020-07-13 11:40:13,2020-07-13 11:46:02
66,1,13,"{""page"": ""65""}",2,2020-07-13 11:40:13,2020-07-13 11:46:10
67,1,13,"{""page"": ""66""}",2,2020-07-13 11:40:13,2020-07-13 11:46:13
68,1,13,"{""page"": ""67""}",2,2020-07-13 11:40:13,2020-07-13 11:46:20
69,1,13,"{""page"": ""68""}",2,2020-07-13 11:40:13,2020-07-13 11:46:22
70,1,13,"{""page"": ""69""}",2,2020-07-13 11:40:13,2020-07-13 11:46:30
71,1,13,"{""page"": ""70""}",2,2020-07-13 11:40:13,2020-07-13 11:46:33
72,1,13,"{""page"": ""71""}",2,2020-07-13 11:40:13,2020-07-13 11:46:39
73,1,13,"{""page"": ""72""}",2,2020-07-13 11:40:13,2020-07-13 11:46:44
74,1,13,"{""page"": ""73""}",2,2020-07-13 11:40:13,2020-07-13 11:46:50
75,1,13,"{""page"": ""74""}",2,2020-07-13 11:40:13,2020-07-13 11:46:55
76,1,13,"{""page"": ""75""}",2,2020-07-13 11:40:13,2020-07-13 11:47:00
77,1,13,"{""page"": ""76""}",2,2020-07-13 11:40:13,2020-07-13 11:47:05
78,1,13,"{""page"": ""77""}",2,2020-07-13 11:40:13,2020-07-13 11:47:10
79,1,13,"{""page"": ""78""}",2,2020-07-13 11:40:13,2020-07-13 11:47:14
80,1,13,"{""page"": ""79""}",2,2020-07-13 11:40:13,2020-07-13 11:47:18
81,1,13,"{""page"": ""80""}",2,2020-07-13 11:40:13,2020-07-13 11:47:24
82,1,13,"{""page"": ""81""}",2,2020-07-13 11:40:13,2020-07-13 11:47:29
83,1,13,"{""page"": ""82""}",2,2020-07-13 11:40:13,2020-07-13 11:47:32
84,1,13,"{""page"": ""83""}",2,2020-07-13 11:40:13,2020-07-13 11:47:39
85,1,13,"{""page"": ""84""}",2,2020-07-13 11:40:13,2020-07-13 11:47:43
86,1,13,"{""page"": ""85""}",2,2020-07-13 11:40:13,2020-07-13 11:47:49
87,1,13,"{""page"": ""86""}",2,2020-07-13 11:40:13,2020-07-13 11:47:54
88,1,13,"{""page"": ""87""}",2,2020-07-13 11:40:13,2020-07-13 11:48:01
89,1,13,"{""page"": ""88""}",2,2020-07-13 11:40:13,2020-07-13 11:48:05
90,1,13,"{""page"": ""89""}",2,2020-07-13 11:40:13,2020-07-13 11:48:11
91,1,13,"{""page"": ""90""}",2,2020-07-13 11:40:13,2020-07-13 11:48:16
92,1,13,"{""page"": ""91""}",2,2020-07-13 11:40:13,2020-07-13 11:48:21
93,1,13,"{""page"": ""92""}",2,2020-07-13 11:40:13,2020-07-13 11:48:26
94,1,13,"{""page"": ""93""}",2,2020-07-13 11:40:13,2020-07-13 11:48:31
95,1,13,"{""page"": ""94""}",2,2020-07-13 11:40:13,2020-07-13 11:48:36
96,1,13,"{""page"": ""95""}",2,2020-07-13 11:40:13,2020-07-13 11:48:42
97,1,13,"{""page"": ""96""}",2,2020-07-13 11:40:13,2020-07-13 11:48:46
98,1,13,"{""page"": ""97""}",2,2020-07-13 11:40:13,2020-07-13 11:48:53
99,1,13,"{""page"": ""98""}",2,2020-07-13 11:40:13,2020-07-13 11:48:56
100,1,13,"{""page"": ""99""}",2,2020-07-13 11:40:13,2020-07-13 11:49:03
\ No newline at end of file
1,39,13,"{""page"": ""0""}",2,2020-07-18 15:08:35,2020-07-18 15:08:46
2,39,13,"{""page"": ""1""}",2,2020-07-18 15:08:35,2020-07-18 15:08:45
3,39,13,"{""page"": ""2""}",2,2020-07-18 15:08:35,2020-07-18 15:08:55
4,39,13,"{""page"": ""3""}",2,2020-07-18 15:08:35,2020-07-18 15:08:55
5,39,13,"{""page"": ""4""}",2,2020-07-18 15:08:35,2020-07-18 15:09:04
6,39,13,"{""page"": ""5""}",2,2020-07-18 15:08:35,2020-07-18 15:09:03
7,39,13,"{""page"": ""6""}",2,2020-07-18 15:08:35,2020-07-18 15:09:13
8,39,13,"{""page"": ""7""}",2,2020-07-18 15:08:35,2020-07-18 15:09:13
9,39,13,"{""page"": ""8""}",2,2020-07-18 15:08:35,2020-07-18 15:09:22
10,39,13,"{""page"": ""9""}",2,2020-07-18 15:08:35,2020-07-18 15:09:21
11,39,13,"{""page"": ""10""}",2,2020-07-18 15:08:35,2020-07-18 15:09:28
12,39,13,"{""page"": ""11""}",2,2020-07-18 15:08:35,2020-07-18 15:09:31
13,39,13,"{""page"": ""12""}",2,2020-07-18 15:08:35,2020-07-18 15:09:37
14,39,13,"{""page"": ""13""}",2,2020-07-18 15:08:35,2020-07-18 15:09:39
15,39,13,"{""page"": ""14""}",2,2020-07-18 15:08:35,2020-07-18 15:09:44
16,39,13,"{""page"": ""15""}",2,2020-07-18 15:08:35,2020-07-18 15:09:48
17,39,13,"{""page"": ""16""}",2,2020-07-18 15:08:35,2020-07-18 15:09:51
18,39,13,"{""page"": ""17""}",2,2020-07-18 15:08:35,2020-07-18 15:09:57
19,39,13,"{""page"": ""18""}",2,2020-07-18 15:08:35,2020-07-18 15:09:59
20,39,13,"{""page"": ""19""}",2,2020-07-18 15:08:35,2020-07-18 15:10:04
21,39,13,"{""page"": ""20""}",2,2020-07-18 15:08:35,2020-07-18 15:10:07
22,39,13,"{""page"": ""21""}",2,2020-07-18 15:08:35,2020-07-18 15:10:12
23,39,13,"{""page"": ""22""}",2,2020-07-18 15:08:35,2020-07-18 15:10:15
24,39,13,"{""page"": ""23""}",2,2020-07-18 15:08:35,2020-07-18 15:10:18
25,39,13,"{""page"": ""24""}",2,2020-07-18 15:08:35,2020-07-18 15:10:24
26,39,13,"{""page"": ""25""}",2,2020-07-18 15:08:35,2020-07-18 15:10:26
27,39,13,"{""page"": ""26""}",2,2020-07-18 15:08:35,2020-07-18 15:10:32
28,39,13,"{""page"": ""27""}",2,2020-07-18 15:08:35,2020-07-18 15:10:36
29,39,13,"{""page"": ""28""}",2,2020-07-18 15:08:35,2020-07-18 15:10:40
30,39,13,"{""page"": ""29""}",2,2020-07-18 15:08:35,2020-07-18 15:10:44
31,39,13,"{""page"": ""30""}",2,2020-07-18 15:08:35,2020-07-18 15:10:50
32,39,13,"{""page"": ""31""}",2,2020-07-18 15:08:35,2020-07-18 15:10:53
33,39,13,"{""page"": ""32""}",2,2020-07-18 15:08:35,2020-07-18 15:10:58
34,39,13,"{""page"": ""33""}",2,2020-07-18 15:08:35,2020-07-18 15:11:03
35,39,13,"{""page"": ""34""}",2,2020-07-18 15:08:35,2020-07-18 15:11:08
36,39,13,"{""page"": ""35""}",2,2020-07-18 15:08:35,2020-07-18 15:11:11
37,39,13,"{""page"": ""36""}",2,2020-07-18 15:08:35,2020-07-18 15:11:17
38,39,13,"{""page"": ""37""}",2,2020-07-18 15:08:35,2020-07-18 15:11:19
39,39,13,"{""page"": ""38""}",2,2020-07-18 15:08:35,2020-07-18 15:11:25
40,39,13,"{""page"": ""39""}",2,2020-07-18 15:08:35,2020-07-18 15:11:27
41,39,13,"{""page"": ""40""}",2,2020-07-18 15:08:35,2020-07-18 15:11:32
42,39,13,"{""page"": ""41""}",2,2020-07-18 15:08:35,2020-07-18 15:11:36
43,39,13,"{""page"": ""42""}",2,2020-07-18 15:08:35,2020-07-18 15:11:40
44,39,13,"{""page"": ""43""}",2,2020-07-18 15:08:35,2020-07-18 15:11:44
45,39,13,"{""page"": ""44""}",2,2020-07-18 15:08:35,2020-07-18 15:11:49
46,39,13,"{""page"": ""45""}",2,2020-07-18 15:08:35,2020-07-18 15:11:52
47,39,13,"{""page"": ""46""}",2,2020-07-18 15:08:35,2020-07-18 15:11:56
48,39,13,"{""page"": ""47""}",2,2020-07-18 15:08:35,2020-07-18 15:11:59
49,39,13,"{""page"": ""48""}",2,2020-07-18 15:08:35,2020-07-18 15:12:05
50,39,13,"{""page"": ""49""}",2,2020-07-18 15:08:35,2020-07-18 15:12:07
51,39,13,"{""page"": ""50""}",2,2020-07-18 15:08:35,2020-07-18 15:12:14
52,39,13,"{""page"": ""51""}",2,2020-07-18 15:08:35,2020-07-18 15:12:16
53,39,13,"{""page"": ""52""}",2,2020-07-18 15:08:35,2020-07-18 15:12:22
54,39,13,"{""page"": ""53""}",2,2020-07-18 15:08:35,2020-07-18 15:12:25
55,39,13,"{""page"": ""54""}",2,2020-07-18 15:08:35,2020-07-18 15:12:30
56,39,13,"{""page"": ""55""}",2,2020-07-18 15:08:35,2020-07-18 15:12:32
57,39,13,"{""page"": ""56""}",2,2020-07-18 15:08:35,2020-07-18 15:12:37
58,39,13,"{""page"": ""57""}",2,2020-07-18 15:08:35,2020-07-18 15:12:40
59,39,13,"{""page"": ""58""}",2,2020-07-18 15:08:35,2020-07-18 15:12:45
60,39,13,"{""page"": ""59""}",2,2020-07-18 15:08:35,2020-07-18 15:12:49
61,39,13,"{""page"": ""60""}",2,2020-07-18 15:08:35,2020-07-18 15:12:53
62,39,13,"{""page"": ""61""}",2,2020-07-18 15:08:35,2020-07-18 15:12:56
63,39,13,"{""page"": ""62""}",2,2020-07-18 15:08:35,2020-07-18 15:13:00
64,39,13,"{""page"": ""63""}",2,2020-07-18 15:08:35,2020-07-18 15:13:07
65,39,13,"{""page"": ""64""}",2,2020-07-18 15:08:35,2020-07-18 15:13:10
66,39,13,"{""page"": ""65""}",2,2020-07-18 15:08:35,2020-07-18 15:13:14
67,39,13,"{""page"": ""66""}",2,2020-07-18 15:08:35,2020-07-18 15:13:19
68,39,13,"{""page"": ""67""}",2,2020-07-18 15:08:35,2020-07-18 15:13:22
69,39,13,"{""page"": ""68""}",2,2020-07-18 15:08:35,2020-07-18 15:13:26
70,39,13,"{""page"": ""69""}",2,2020-07-18 15:08:35,2020-07-18 15:13:30
71,39,13,"{""page"": ""70""}",2,2020-07-18 15:08:35,2020-07-18 15:13:33
72,39,13,"{""page"": ""71""}",2,2020-07-18 15:08:35,2020-07-18 15:13:39
73,39,13,"{""page"": ""72""}",2,2020-07-18 15:08:35,2020-07-18 15:13:43
74,39,13,"{""page"": ""73""}",2,2020-07-18 15:08:35,2020-07-18 15:13:47
75,39,13,"{""page"": ""74""}",2,2020-07-18 15:08:35,2020-07-18 15:13:52
76,39,13,"{""page"": ""75""}",2,2020-07-18 15:08:35,2020-07-18 15:13:57
77,39,13,"{""page"": ""76""}",2,2020-07-18 15:08:35,2020-07-18 15:14:02
78,39,13,"{""page"": ""77""}",2,2020-07-18 15:08:35,2020-07-18 15:14:10
79,39,13,"{""page"": ""78""}",2,2020-07-18 15:08:35,2020-07-18 15:14:16
80,39,13,"{""page"": ""79""}",2,2020-07-18 15:08:35,2020-07-18 15:14:18
81,39,13,"{""page"": ""80""}",2,2020-07-18 15:08:35,2020-07-18 15:14:26
82,39,13,"{""page"": ""81""}",2,2020-07-18 15:08:35,2020-07-18 15:14:26
83,39,13,"{""page"": ""82""}",2,2020-07-18 15:08:35,2020-07-18 15:14:35
84,39,13,"{""page"": ""83""}",2,2020-07-18 15:08:35,2020-07-18 15:14:36
85,39,13,"{""page"": ""84""}",2,2020-07-18 15:08:35,2020-07-18 15:14:43
86,39,13,"{""page"": ""85""}",2,2020-07-18 15:08:35,2020-07-18 15:14:45
87,39,13,"{""page"": ""86""}",2,2020-07-18 15:08:35,2020-07-18 15:14:51
88,39,13,"{""page"": ""87""}",2,2020-07-18 15:08:35,2020-07-18 15:14:53
89,39,13,"{""page"": ""88""}",2,2020-07-18 15:08:35,2020-07-18 15:14:58
90,39,13,"{""page"": ""89""}",2,2020-07-18 15:08:35,2020-07-18 15:15:01
91,39,13,"{""page"": ""90""}",2,2020-07-18 15:08:35,2020-07-18 15:15:06
92,39,13,"{""page"": ""91""}",2,2020-07-18 15:08:35,2020-07-18 15:15:09
93,39,13,"{""page"": ""92""}",2,2020-07-18 15:08:35,2020-07-18 15:15:14
94,39,13,"{""page"": ""93""}",2,2020-07-18 15:08:35,2020-07-18 15:15:16
95,39,13,"{""page"": ""94""}",2,2020-07-18 15:08:35,2020-07-18 15:15:21
96,39,13,"{""page"": ""95""}",2,2020-07-18 15:08:35,2020-07-18 15:15:24
97,39,13,"{""page"": ""96""}",2,2020-07-18 15:08:35,2020-07-18 15:15:30
98,39,13,"{""page"": ""97""}",2,2020-07-18 15:08:35,2020-07-18 15:15:31
99,39,13,"{""page"": ""98""}",2,2020-07-18 15:08:35,2020-07-18 15:15:38
100,39,13,"{""page"": ""99""}",2,2020-07-18 15:08:35,2020-07-18 15:15:39
\ No newline at end of file
from common.tasks.Runnable import Runnable
class ToString(Runnable):
def run(self, parameters: dict) -> dict:
return {"text": str(parameters['number'])}
import os
import random
import sys
import threading
from concurrent.futures.thread import ThreadPoolExecutor
import requests
......@@ -11,27 +14,23 @@ from common.tasks.Runnable import Runnable
class DownloadFilesFromBrowser(Runnable):
barrier = None
cookies = None
# Download a file
def __download__(self, file, cookies):
def __download__(self, file):
logger.info("Downloading file {}...".format(file))
filename = os.path.basename(urlparse(file).path)
r = requests.get(file, stream=True, cookies=cookies)
with open(env("FILE_LOCKER") + filename, 'wb') as fd:
r = requests.get(file, stream=True, cookies=self.cookies)
with open(env("FILE_LOCKER") + filename + "-" + str(random.randint(0, sys.maxsize)), 'wb') as fd:
for chunk in r.iter_content(2048):
fd.write(chunk)
self.barrier.wait()
def run(self, parameters: dict) -> dict:
files = parameters['files']
browser = parameters['selenium_instance'] # Not used currently
cookies = {c['name']: c['value'] for c in browser.get_cookies()}
self.barrier = threading.Barrier(len(files))
self.cookies = {c['name']: c['value'] for c in browser.get_cookies()}
for file in files:
threading.Thread(target=self.__download__, args=(file, cookies, )).start()
with ThreadPoolExecutor(10) as lifeTree:
lifeTree.map(self.__download__, files)
return {"instance": browser} # For continuity purposes
from common.tasks.Runnable import Runnable
class Addition(Runnable):
def run(self, parameters: dict) -> dict:
return {"sum": int(parameters['A']) + int(parameters['B'])}
from common.tasks.Runnable import Runnable
class Maximum(Runnable):
def run(self, parameters: dict) -> dict:
return {"max": max(int(parameters['A']), int(parameters['B']))}
from common.tasks.Runnable import Runnable
class Multiply(Runnable):
def run(self, parameters: dict) -> dict:
return {"product": int(parameters['A']) * int(parameters['B'])}
from common.tasks.Runnable import Runnable
class Substraction(Runnable):
def run(self, parameters: dict) -> dict:
return {"diff": int(parameters['A']) - int(parameters['B'])}
......@@ -4,6 +4,7 @@ from common.tasks.Basic.Argument import Argument
from common.tasks.Basic.MergeStrings import MergeStrings
from common.tasks.Basic.RandomNumber import RandomNumber
from common.tasks.Basic.ReplaceString import ReplaceString
from common.tasks.Basic.ToString import ToString
from common.tasks.Basic.Wait import Wait
from common.tasks.Browser.ClickElement import ClickElement
from common.tasks.Browser.FillComboBox import FillComboBox
......@@ -25,6 +26,10 @@ from common.tasks.Browser.WaitForURL import WaitForURL
from common.tasks.Complex.ReplaceDataFrameValues import ReplaceDataFrameValues
from common.tasks.Composer.GenerateList import GenerateList
from common.tasks.Composer.Multiplexer import Multiplexer
from common.tasks.Math.Addition import Addition
from common.tasks.Math.Maximum import Maximum
from common.tasks.Math.Multiply import Multiply
from common.tasks.Math.Substraction import Substraction
from common.tasks.Misc.ConvertIntToMonth import ConvertIntToMonth
......@@ -106,6 +111,16 @@ def startTask(taskID: int, parameters: dict, context: dict, arguments: dict):
return Wait().run(parameters)
elif taskID == 29:
return RandomNumber().run(parameters)
elif taskID == 30:
return Addition().run(parameters)
elif taskID == 31:
return Substraction().run(parameters)
elif taskID == 32:
return Multiply().run(parameters)
elif taskID == 33:
return Maximum().run(parameters)
elif taskID == 34:
return ToString().run(parameters)
else:
logger.error("Unknown Module ID.")
return
......@@ -47,7 +47,7 @@ sous différents points de vue, afin de comprendre les différences de façon de
### Comparaison technique
Les _framework_ sont, de manière générale, offerts sans support et demandant des connaissances en informatique poussées. Ces derniers sont
Les _framework_ sont, de manière générale, offerts sans support et demandent des connaissances en informatique poussées. Ces derniers sont
proposés "en l'état", parfois mal documentés et ont chacun leur lot de complexité (complexité parfois même variable selon les
versions). Toutefois, une fois un framework maîtrisé, il est possible, du moment que le framework le supporte, de faire absolument ce que l'on veut.
Les prérequis pour l'utilisation d'un framework sont donc la possession d'un ordinateur connecté à Internet et des connaissances en
......
......@@ -270,10 +270,11 @@ $endif$
\newcommand{\appendices}[1]{\addcontentsline{apc}{appendices}{#1}\addcontentsline{toc}{section}{#1}}
\newcommand{\newappendix}[1]{\section*{#1}\appendices{#1}}
% Raccourcis
\newcommand{\img}[3]{% \img{path}{settings}{caption}
\newcommand{\img}[4]{% \img{path}{settings}{caption}{source}
\begin{figure}
\includegraphics[#2]{#1}
\caption{#3}
\caption*{\textit{#4}}
\end{figure}
}
\newcommand{\cimg}[4]{% \img{path}{settings}{caption}{source}
......
......@@ -47,8 +47,8 @@ Cette méthode, très utilisée par les géants de l'Internet comme Google [@kos
Trois grandes catégories de scrapers existent :
* Les solutions payantes, nommées (+SAAS_a);
* Les solutions de type framework [^0];
* Les solutions payantes, nommées (+SAAS_a);
* Les solutions payantes humaines.
Nous allons comparer les différentes solutions existantes aujourd'hui.
......@@ -61,7 +61,11 @@ Trois solutions existent aujourd'hui. Afin de pouvoir comprendre les subtilités
### Comparaison technique
Les _framework_ sont, de manière générale, offerts sans support et demandent des connaissances en informatique relativement poussées. Ces derniers sont proposés sans support, et s'avèrent parfois complexes. Cependant, en acceptant de passer les difficultés, un framework permet par la suite de faire absolument ce que l'on veut.
Les plateformes (+SAAS_a) possèdent les caractéristiques inverses. Elles sont payantes, possèdent un support et demandent moins de connaissances. La difficulté pour se servir d'un (+SAAS_a) est moindre comparé à un framework. Toutefois, les (+SAAS_a) supportent un éventail de fonctionnalités bien défini, qui est difficile voire impossible d'étendre.
La dernière catégorie, les solutions payantes humaines, consiste à payer une tierce personne pour qu'elle récupère les documents.
### Comparaison morale
......
......@@ -118,7 +118,7 @@ Swiss-Impex est une base de données proposant l'intégralité des statistiques
Swiss-Impex demande plus de travail que la FAO Genève pour télécharger un document. La FAO Genève propose une page où l'on peut directement récupérer le document, tandis que Swiss-Impex demande de remplir cinq pages de formulaires afin de pouvoir fournir le document adéquat.
En admettant que chaque document prenne une minute pour être téléchargé par un humain, l'utilité d'un automate pour récupérer ne serait-ce qu'une catégorie de documents prend ici tout son sens. En effet, le niveau de détail des statistiques se situe au mois, et les documents remontent dans la grande majorité des cas jusqu'en 1988. Dans ces cas, on obtient un total de $372$ documents par catégorie ($mois * (annee_{courante} - 1) = 12 * 31 = 372$).
Un être humain prendrait donc six heures et $12$ minutes pour télécharger une catégorie complète. Il y a environ $9000$ catégories sur le site de Swiss-Impex, soit un total de $3 348 000 $ documents. Il semble difficile même pour un automate de télécharger l'intégralité du site. A une vitesse de 100 documents par minute et en ignorant certaines contraintes, un automate prendrait environ un mois pour télécharger l'intégralité du site.
Un être humain prendrait donc six heures et $12$ minutes pour télécharger une catégorie complète. Il y a environ $9000$ catégories sur le site de Swiss-Impex, soit un total de $3348000 $ documents. Il semble difficile même pour un automate de télécharger l'intégralité du site. A une vitesse de 100 documents par minute et en ignorant certaines contraintes, un automate prendrait environ un mois pour télécharger l'intégralité du site.
Il est donc plus intéressant de s'intéresser à télécharger une seule catégorie.
On téléchargera donc une catégorie en particulier, la catégorie *2709.0090*, marchandise correspondant selon le site de l'administration douanière aux *Huiles brutes de pétrole ou de minéraux bitumineux destinées à être utilisées comme carburant*.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment