-
Notifications
You must be signed in to change notification settings - Fork 1
/
scrapper.py
434 lines (429 loc) · 30.3 KB
/
scrapper.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
from lxml import html
import requests
import json
# pip install lxml
#pip install requests.
featureMatrix = {
'accessibility' : {'Accessibility':{'constants': [], 'properties': [], 'methods': []},'AccessibilityImplementation':{'constants': [], 'properties': [], 'methods': []}, 'AccessibilityProperties': {'constants': [], 'properties': [], 'methods': []}, 'ISearchableText': {'constants': [], 'properties': [], 'methods': []}, 'ISimpleTextSelection': {'constants': [], 'properties': [], 'methods': []}},
'automation' : {'ActionGenerator': {'constants': [], 'properties': [], 'methods': []}, 'AutomationAction':{'constants': [], 'properties': [], 'methods': []}, 'Configuration':{'constants': [], 'properties': [], 'methods': []}, 'KeyboardAutomationAction':{'constants': [], 'properties': [], 'methods': []}, 'MouseAutomationAction':{'constants': [], 'properties': [], 'methods': []}, 'StageCapture':{'constants': [], 'properties': [], 'methods': []}, 'StageCaptureEvent':{'constants': [], 'properties': [], 'methods': []}},
'desktop' : {'Clipboard':{'constants': [], 'properties': [], 'methods': []}, 'ClipboardFormats':{'constants': [], 'properties': [], 'methods': []}, 'ClipboardTransferMode':{'constants': [], 'properties': [], 'methods': []}},
'display' : {
'AVM1Movie': {'constants': [], 'properties': [], 'methods': []},
'ActionScriptVersion': {'constants': [], 'properties': [], 'methods': []},
'AVM1Movie': {'constants': [], 'properties': [], 'methods': []},
'Bitmap': {'constants': [], 'properties': [], 'methods': []},
'BitmapData': {'constants': [], 'properties': [], 'methods': []},
'BitmapDataChannel': {'constants': [], 'properties': [], 'methods': []},
'BitmapEncodingColorSpace': {'constants': [], 'properties': [], 'methods': []},
'BlendMode': {'constants': [], 'properties': [], 'methods': []},
'CapsStyle': {'constants': [], 'properties': [], 'methods': []},
'ColorCorrection': {'constants': [], 'properties': [], 'methods': []},
'ColorCorrectionSupport': {'constants': [], 'properties': [], 'methods': []},
'DisplayObject': {'constants': [], 'properties': [], 'methods': []},
'DisplayObjectContainer': {'constants': [], 'properties': [], 'methods': []},
'FocusDirection': {'constants': [], 'properties': [], 'methods': []},
'FrameLabel': {'constants': [], 'properties': [], 'methods': []},
'GradientType': {'constants': [], 'properties': [], 'methods': []},
'Graphics': {'constants': [], 'properties': [], 'methods': []},
'GraphicsBitmapFill': {'constants': [], 'properties': [], 'methods': []},
'GraphicsEndFill': {'constants': [], 'properties': [], 'methods': []},
'GraphicsGradientFill': {'constants': [], 'properties': [], 'methods': []},
'GraphicsPath': {'constants': [], 'properties': [], 'methods': []},
'GraphicsPathCommand': {'constants': [], 'properties': [], 'methods': []},
'GraphicsPathWinding': {'constants': [], 'properties': [], 'methods': []},
'GraphicsShaderFill': {'constants': [], 'properties': [], 'methods': []},
'GraphicsSolidFill': {'constants': [], 'properties': [], 'methods': []},
'GraphicsStroke': {'constants': [], 'properties': [], 'methods': []},
'GraphicsTrianglePath': {'constants': [], 'properties': [], 'methods': []},
'IBitmapDrawable': {'constants': [], 'properties': [], 'methods': []},
'IDrawCommand': {'constants': [], 'properties': [], 'methods': []},
'IGraphicsData': {'constants': [], 'properties': [], 'methods': []},
'IGraphicsFill': {'constants': [], 'properties': [], 'methods': []},
'IGraphicsPath': {'constants': [], 'properties': [], 'methods': []},
'IGraphicsStroke': {'constants': [], 'properties': [], 'methods': []},
'InteractiveObject': {'constants': [], 'properties': [], 'methods': []},
'InterpolationMethod': {'constants': [], 'properties': [], 'methods': []},
'JointStyle': {'constants': [], 'properties': [], 'methods': []},
'JPEGEncoderOptions': {'constants': [], 'properties': [], 'methods': []},
'JPEGXREncoderOptions': {'constants': [], 'properties': [], 'methods': []},
'LineScaleMode': {'constants': [], 'properties': [], 'methods': []},
'Loader': {'constants': [], 'properties': [], 'methods': []},
'LoaderInfo': {'constants': [], 'properties': [], 'methods': []},
'MorphShape': {'constants': [], 'properties': [], 'methods': []},
'MovieClip': {'constants': [], 'properties': [], 'methods': []},
'MovieClipSoundStream': {'constants': [], 'properties': [], 'methods': []},
'NativeMenu': {'constants': [], 'properties': [], 'methods': []},
'NativeMenuItem': {'constants': [], 'properties': [], 'methods': []},
'PixelSnapping': {'constants': [], 'properties': [], 'methods': []},
'PNGEncoderOptions': {'constants': [], 'properties': [], 'methods': []},
'Scene': {'constants': [], 'properties': [], 'methods': []},
'Shader': {'constants': [], 'properties': [], 'methods': []},
'ShaderData': {'constants': [], 'properties': [], 'methods': []},
'ShaderInput': {'constants': [], 'properties': [], 'methods': []},
'ShaderJob': {'constants': [], 'properties': [], 'methods': []},
'ShaderParameter': {'constants': [], 'properties': [], 'methods': []},
'ShaderParameterType': {'constants': [], 'properties': [], 'methods': []},
'ShaderPrecision': {'constants': [], 'properties': [], 'methods': []},
'Shape': {'constants': [], 'properties': [], 'methods': []},
'SimpleButton': {'constants': [], 'properties': [], 'methods': []},
'SpreadMethod': {'constants': [], 'properties': [], 'methods': []},
'Sprite': {'constants': [], 'properties': [], 'methods': []},
'Stage': {'constants': [], 'properties': [], 'methods': []},
'Stage3D': {'constants': [], 'properties': [], 'methods': []},
'StageAlign': {'constants': [], 'properties': [], 'methods': []},
'StageDisplayState': {'constants': [], 'properties': [], 'methods': []},
'StageQuality': {'constants': [], 'properties': [], 'methods': []},
'StageScaleMode': {'constants': [], 'properties': [], 'methods': []},
'SWFVersion': {'constants': [], 'properties': [], 'methods': []},
'TriangleCulling': {'constants': [], 'properties': [], 'methods': []}
},
'display3D' : {
'Context3D': {'constants': [], 'properties': [], 'methods': []},
'Context3DBlendFactor': {'constants': [], 'properties': [], 'methods': []},
'Bitmap': {'constants': [], 'properties': [], 'methods': []},
'BitmapData': {'constants': [], 'properties': [], 'methods': []},
'Context3DClearMask': {'constants': [], 'properties': [], 'methods': []},
'BitmapDataChannel': {'constants': [], 'properties': [], 'methods': []},
'BitmapEncodingColorSpace': {'constants': [], 'properties': [], 'methods': []},
'Context3DCompareMode': {'constants': [], 'properties': [], 'methods': []},
'BlendMode': {'constants': [], 'properties': [], 'methods': []},
'CapsStyle': {'constants': [], 'properties': [], 'methods': []},
'Context3DProfile': {'constants': [], 'properties': [], 'methods': []},
'ColorCorrection': {'constants': [], 'properties': [], 'methods': []},
'ColorCorrectionSupport': {'constants': [], 'properties': [], 'methods': []},
'Context3DProgramType': {'constants': [], 'properties': [], 'methods': []},
'DisplayObject': {'constants': [], 'properties': [], 'methods': []},
'DisplayObjectContainer': {'constants': [], 'properties': [], 'methods': []},
'Context3DRenderMode': {'constants': [], 'properties': [], 'methods': []},
'FocusDirection': {'constants': [], 'properties': [], 'methods': []},
'FrameLabel': {'constants': [], 'properties': [], 'methods': []},
'Context3DStencilAction': {'constants': [], 'properties': [], 'methods': []},
'GradientType': {'constants': [], 'properties': [], 'methods': []},
'Graphics': {'constants': [], 'properties': [], 'methods': []},
'Context3DTextureFormat': {'constants': [], 'properties': [], 'methods': []},
'GraphicsBitmapFill': {'constants': [], 'properties': [], 'methods': []},
'GraphicsEndFill': {'constants': [], 'properties': [], 'methods': []},
'Context3DTriangleFace': {'constants': [], 'properties': [], 'methods': []},
'GraphicsGradientFill': {'constants': [], 'properties': [], 'methods': []},
'GraphicsPath': {'constants': [], 'properties': [], 'methods': []},
'Context3DVertexBufferFormat': {'constants': [], 'properties': [], 'methods': []},
'GraphicsPathCommand': {'constants': [], 'properties': [], 'methods': []},
'GraphicsPathWinding': {'constants': [], 'properties': [], 'methods': []},
'IndexBuffer3D': {'constants': [], 'properties': [], 'methods': []},
'GraphicsShaderFill': {'constants': [], 'properties': [], 'methods': []},
'GraphicsSolidFill': {'constants': [], 'properties': [], 'methods': []},
'Program3D': {'constants': [], 'properties': [], 'methods': []},
'GraphicsStroke': {'constants': [], 'properties': [], 'methods': []},
'GraphicsTrianglePath': {'constants': [], 'properties': [], 'methods': []},
'VertexBuffer3D': {'constants': [], 'properties': [], 'methods': []},
'IBitmapDrawable': {'constants': [], 'properties': [], 'methods': []}
},
'errors' : {
'InvalidSWFError': {'constants': [], 'properties': [], 'methods': []},
'MemoryError': {'constants': [], 'properties': [], 'methods': []},
'ScriptTimeoutError': {'constants': [], 'properties': [], 'methods': []},
'StackOverflowError': {'constants': [], 'properties': [], 'methods': []},
'IllegalOperationError': {'constants': [], 'properties': [], 'methods': []},
'EOFError': {'constants': [], 'properties': [], 'methods': []},
'IOError': {'constants': [], 'properties': [], 'methods': []}
},
'events' : {
'AccelerometerEvent': {'constants': [], 'properties': [], 'methods': []},
'ActivityEvent': {'constants': [], 'properties': [], 'methods': []},
'AsyncErrorEvent': {'constants': [], 'properties': [], 'methods': []},
'ContextMenuEvent': {'constants': [], 'properties': [], 'methods': []},
'DataEvent': {'constants': [], 'properties': [], 'methods': []},
'ErrorEvent': {'constants': [], 'properties': [], 'methods': []},
'Event': {'constants': [], 'properties': [], 'methods': []},
'EventDispatcher': {'constants': [], 'properties': [], 'methods': []},
'EventPhase': {'constants': [], 'properties': [], 'methods': []},
'FocusEvent': {'constants': [], 'properties': [], 'methods': []},
'FullScreenEvent': {'constants': [], 'properties': [], 'methods': []},
'GameInputEvent': {'constants': [], 'properties': [], 'methods': []},
'GeolocationEvent': {'constants': [], 'properties': [], 'methods': []},
'GestureEvent': {'constants': [], 'properties': [], 'methods': []},
'IDrawCommand': {'constants': [], 'properties': [], 'methods': []},
'GesturePhase': {'constants': [], 'properties': [], 'methods': []},
'IGraphicsData': {'constants': [], 'properties': [], 'methods': []},
'IGraphicsFill': {'constants': [], 'properties': [], 'methods': []},
'HTTPStatusEvent': {'constants': [], 'properties': [], 'methods': []},
'IGraphicsPath': {'constants': [], 'properties': [], 'methods': []},
'IGraphicsStroke': {'constants': [], 'properties': [], 'methods': []},
'IEventDispatcher': {'constants': [], 'properties': [], 'methods': []},
'InteractiveObject': {'constants': [], 'properties': [], 'methods': []},
'InterpolationMethod': {'constants': [], 'properties': [], 'methods': []},
'IMEEvent': {'constants': [], 'properties': [], 'methods': []},
'JointStyle': {'constants': [], 'properties': [], 'methods': []},
'JPEGEncoderOptions': {'constants': [], 'properties': [], 'methods': []},
'IOErrorEvent': {'constants': [], 'properties': [], 'methods': []},
'JPEGXREncoderOptions': {'constants': [], 'properties': [], 'methods': []},
'LineScaleMode': {'constants': [], 'properties': [], 'methods': []},
'KeyboardEvent': {'constants': [], 'properties': [], 'methods': []},
'Loader': {'constants': [], 'properties': [], 'methods': []},
'LoaderInfo': {'constants': [], 'properties': [], 'methods': []},
'MouseEvent': {'constants': [], 'properties': [], 'methods': []},
'MorphShape': {'constants': [], 'properties': [], 'methods': []},
'MovieClip': {'constants': [], 'properties': [], 'methods': []},
'NetDataEvent': {'constants': [], 'properties': [], 'methods': []},
'NetFilterEvent': {'constants': [], 'properties': [], 'methods': []},
'NetMonitorEvent': {'constants': [], 'properties': [], 'methods': []},
'NetStatusEvent': {'constants': [], 'properties': [], 'methods': []},
'OutputProgressEvent': {'constants': [], 'properties': [], 'methods': []},
'PressAndTapGestureEvent': {'constants': [], 'properties': [], 'methods': []},
'ProgressEvent': {'constants': [], 'properties': [], 'methods': []},
'SampleDataEvent': {'constants': [], 'properties': [], 'methods': []},
'SecurityErrorEvent': {'constants': [], 'properties': [], 'methods': []},
'ShaderEvent': {'constants': [], 'properties': [], 'methods': []},
'SoftKeyboardEvent': {'constants': [], 'properties': [], 'methods': []},
'SoftKeyboardTrigger': {'constants': [], 'properties': [], 'methods': []},
'StageVideoAvailabilityEvent': {'constants': [], 'properties': [], 'methods': []},
'StageVideoEvent': {'constants': [], 'properties': [], 'methods': []},
'StatusEvent': {'constants': [], 'properties': [], 'methods': []},
'SyncEvent': {'constants': [], 'properties': [], 'methods': []},
'TextEvent': {'constants': [], 'properties': [], 'methods': []},
'ThrottleEvent': {'constants': [], 'properties': [], 'methods': []},
'ThrottleType': {'constants': [], 'properties': [], 'methods': []},
'TimerEvent': {'constants': [], 'properties': [], 'methods': []},
'TouchEvent': {'constants': [], 'properties': [], 'methods': []},
'TransformGestureEvent': {'constants': [], 'properties': [], 'methods': []},
'UncaughtErrorEvent': {'constants': [], 'properties': [], 'methods': []},
'UncaughtErrorEvents': {'constants': [], 'properties': [], 'methods': []},
'VideoEvent': {'constants': [], 'properties': [], 'methods': []}
},
'external' : {
'ExternalInterface':{'constants': [], 'properties': [], 'methods': []}
},
'filters' : {
'BevelFilter': {'constants': [], 'properties': [], 'methods': []},
'BevelFilter': {'constants': [], 'properties': [], 'methods': []},
'BitmapFilter': {'constants': [], 'properties': [], 'methods': []},
'BitmapFilterQuality': {'constants': [], 'properties': [], 'methods': []},
'BitmapFilterType': {'constants': [], 'properties': [], 'methods': []},
'BlurFilter': {'constants': [], 'properties': [], 'methods': []},
'GesturePhase': {'constants': [], 'properties': [], 'methods': []},
'ColorMatrixFilter': {'constants': [], 'properties': [], 'methods': []},
'HTTPStatusEvent': {'constants': [], 'properties': [], 'methods': []},
'ConvolutionFilter': {'constants': [], 'properties': [], 'methods': []},
'IEventDispatcher': {'constants': [], 'properties': [], 'methods': []},
'DisplacementMapFilter': {'constants': [], 'properties': [], 'methods': []},
'IMEEvent': {'constants': [], 'properties': [], 'methods': []},
'DisplacementMapFilterMode': {'constants': [], 'properties': [], 'methods': []},
'IOErrorEvent': {'constants': [], 'properties': [], 'methods': []},
'DropShadowFilter': {'constants': [], 'properties': [], 'methods': []},
'KeyboardEvent': {'constants': [], 'properties': [], 'methods': []},
'GlowFilter': {'constants': [], 'properties': [], 'methods': []},
'MouseEvent': {'constants': [], 'properties': [], 'methods': []},
'GradientBevelFilter': {'constants': [], 'properties': [], 'methods': []},
'GradientGlowFilter': {'constants': [], 'properties': [], 'methods': []},
'ShaderFilter': {'constants': [], 'properties': [], 'methods': []}
},
'geom' : {
'ColorTransform': {'constants': [], 'properties': [], 'methods': []},
'Matrix': {'constants': [], 'properties': [], 'methods': []},
'Matrix3D': {'constants': [], 'properties': [], 'methods': []},
'Orientation3D': {'constants': [], 'properties': [], 'methods': []},
'PerspectiveProjection': {'constants': [], 'properties': [], 'methods': []},
'Point': {'constants': [], 'properties': [], 'methods': []},
'Rectangle': {'constants': [], 'properties': [], 'methods': []},
'Transform': {'constants': [], 'properties': [], 'methods': []},
'Utils3D': {'constants': [], 'properties': [], 'methods': []},
'Vector3D': {'constants': [], 'properties': [], 'methods': []}
},
'globalization' : {
'Collator': {'constants': [], 'properties': [], 'methods': []},
'CollatorMode': {'constants': [], 'properties': [], 'methods': []},
'CurrencyFormatter': {'constants': [], 'properties': [], 'methods': []},
'CurrencyParseResult': {'constants': [], 'properties': [], 'methods': []},
'DateTimeFormatter': {'constants': [], 'properties': [], 'methods': []},
'DateTimeNameContext': {'constants': [], 'properties': [], 'methods': []},
'DateTimeNameStyle': {'constants': [], 'properties': [], 'methods': []},
'DateTimeStyle': {'constants': [], 'properties': [], 'methods': []},
'LastOperationStatus': {'constants': [], 'properties': [], 'methods': []},
'LocaleID': {'constants': [], 'properties': [], 'methods': []},
'NationalDigitsType': {'constants': [], 'properties': [], 'methods': []},
'NumberFormatter': {'constants': [], 'properties': [], 'methods': []},
'NumberParseResult': {'constants': [], 'properties': [], 'methods': []},
'StringTools': {'constants': [], 'properties': [], 'methods': []}
},
'media' : {
'AudioDecoder': {'constants': [], 'properties': [], 'methods': []},
'Camera': {'constants': [], 'properties': [], 'methods': []},
'H264Level': {'constants': [], 'properties': [], 'methods': []},
'H264Profile': {'constants': [], 'properties': [], 'methods': []},
'H264VideoStreamSettings': {'constants': [], 'properties': [], 'methods': []},
'ID3Info': {'constants': [], 'properties': [], 'methods': []},
'Microphone': {'constants': [], 'properties': [], 'methods': []},
'MicrophoneEnhancedMode': {'constants': [], 'properties': [], 'methods': []},
'MicrophoneEnhancedOptions': {'constants': [], 'properties': [], 'methods': []},
'Sound': {'constants': [], 'properties': [], 'methods': []},
'SoundChannel': {'constants': [], 'properties': [], 'methods': []},
'SoundCodec': {'constants': [], 'properties': [], 'methods': []},
'SoundLoaderContext': {'constants': [], 'properties': [], 'methods': []},
'SoundMixer': {'constants': [], 'properties': [], 'methods': []},
'SoundTransform': {'constants': [], 'properties': [], 'methods': []},
'StageVideo': {'constants': [], 'properties': [], 'methods': []},
'StageVideoAvailability': {'constants': [], 'properties': [], 'methods': []},
'Video': {'constants': [], 'properties': [], 'methods': []},
'VideoCodec': {'constants': [], 'properties': [], 'methods': []},
'VideoStatus': {'constants': [], 'properties': [], 'methods': []},
'VideoStreamSettings': {'constants': [], 'properties': [], 'methods': []}
},
'net' : {
'DynamicPropertyOutput': {'constants': [], 'properties': [], 'methods': []},
'FileFilter': {'constants': [], 'properties': [], 'methods': []},
'FileReference': {'constants': [], 'properties': [], 'methods': []},
'FileReferenceList': {'constants': [], 'properties': [], 'methods': []},
'FlashNetScript': {'constants': [], 'properties': [], 'methods': []},
'GroupSpecifier': {'constants': [], 'properties': [], 'methods': []},
'IDynamicPropertyOutput': {'constants': [], 'properties': [], 'methods': []},
'IDynamicPropertyWriter': {'constants': [], 'properties': [], 'methods': []},
'LocalConnection': {'constants': [], 'properties': [], 'methods': []},
'NetConnection': {'constants': [], 'properties': [], 'methods': []},
'NetGroup': {'constants': [], 'properties': [], 'methods': []},
'NetGroupInfo': {'constants': [], 'properties': [], 'methods': []},
'NetGroupReceiveMode': {'constants': [], 'properties': [], 'methods': []},
'NetGroupReplicationStrategy': {'constants': [], 'properties': [], 'methods': []},
'NetGroupSendMode': {'constants': [], 'properties': [], 'methods': []},
'NetGroupSendResult': {'constants': [], 'properties': [], 'methods': []},
'NetMonitor': {'constants': [], 'properties': [], 'methods': []},
'NetStream': {'constants': [], 'properties': [], 'methods': []},
'NetStreamAppendBytesAction': {'constants': [], 'properties': [], 'methods': []},
'NetStreamInfo': {'constants': [], 'properties': [], 'methods': []},
'NetStreamMulticastInfo': {'constants': [], 'properties': [], 'methods': []},
'NetStreamPlayOptions': {'constants': [], 'properties': [], 'methods': []},
'NetStreamPlayTransitions': {'constants': [], 'properties': [], 'methods': []},
'ObjectEncoding': {'constants': [], 'properties': [], 'methods': []},
'Responder': {'constants': [], 'properties': [], 'methods': []},
'SecureSocket': {'constants': [], 'properties': [], 'methods': []},
'SharedObject': {'constants': [], 'properties': [], 'methods': []},
'SharedObjectFlushStatus': {'constants': [], 'properties': [], 'methods': []},
'Socket': {'constants': [], 'properties': [], 'methods': []},
'URLLoader': {'constants': [], 'properties': [], 'methods': []},
'URLLoaderDataFormat': {'constants': [], 'properties': [], 'methods': []},
'URLRequest': {'constants': [], 'properties': [], 'methods': []},
'URLRequestHeader': {'constants': [], 'properties': [], 'methods': []},
'URLRequestMethod': {'constants': [], 'properties': [], 'methods': []},
'URLStream': {'constants': [], 'properties': [], 'methods': []},
'URLVariables': {'constants': [], 'properties': [], 'methods': []},
'XMLSocket': {'constants': [], 'properties': [], 'methods': []}
},
'printing' : {
'PrintJob': {'constants': [], 'properties': [], 'methods': []},
'PrintJobOptions': {'constants': [], 'properties': [], 'methods': []},
'PrintJobOrientation': {'constants': [], 'properties': [], 'methods': []}
},
'profiler' : {
'Telemetry': {'constants': [], 'properties': [], 'methods': []}
},
'sampler' : {
'ClassFactory': {'constants': [], 'properties': [], 'methods': []},
'DeleteObjectSample': {'constants': [], 'properties': [], 'methods': []},
'NewObjectSample': {'constants': [], 'properties': [], 'methods': []},
'Sample': {'constants': [], 'properties': [], 'methods': []},
'StackFrame': {'constants': [], 'properties': [], 'methods': []},
'getSize.as': {'constants': [], 'properties': [], 'methods': []}
},
'security' : {
'CertificateStatus': {'constants': [], 'properties': [], 'methods': []},
'X500DistinguishedName': {'constants': [], 'properties': [], 'methods': []},
'X509Certificate': {'constants': [], 'properties': [], 'methods': []}
},
'sensors' : {
'Accelerometer': {'constants': [], 'properties': [], 'methods': []},
'Geolocation': {'constants': [], 'properties': [], 'methods': []},
},
'system' : {
'ApplicationDomain': {'constants': [], 'properties': [], 'methods': []},
'ApplicationInstaller': {'constants': [], 'properties': [], 'methods': []},
'AuthorizedFeatures': {'constants': [], 'properties': [], 'methods': []},
'AuthorizedFeaturesLoader': {'constants': [], 'properties': [], 'methods': []},
'Capabilities': {'constants': [], 'properties': [], 'methods': []},
'DomainMemoryWithStage3D': {'constants': [], 'properties': [], 'methods': []},
'FSCommand': {'constants': [], 'properties': [], 'methods': []},
'IME': {'constants': [], 'properties': [], 'methods': []},
'IMEConversionMode': {'constants': [], 'properties': [], 'methods': []},
'ImageDecodingPolicy': {'constants': [], 'properties': [], 'methods': []},
'JPEGLoaderContext': {'constants': [], 'properties': [], 'methods': []},
'LoaderContext': {'constants': [], 'properties': [], 'methods': []},
'MessageChannel': {'constants': [], 'properties': [], 'methods': []},
'MessageChannelState': {'constants': [], 'properties': [], 'methods': []},
'Security': {'constants': [], 'properties': [], 'methods': []},
'SecurityDomain': {'constants': [], 'properties': [], 'methods': []},
'SecurityPanel': {'constants': [], 'properties': [], 'methods': []},
'System': {'constants': [], 'properties': [], 'methods': []},
'SystemUpdater': {'constants': [], 'properties': [], 'methods': []},
'SystemUpdaterType': {'constants': [], 'properties': [], 'methods': []},
'TouchscreenType': {'constants': [], 'properties': [], 'methods': []}
},
'text' : {
'AntiAliasType': {'constants': [], 'properties': [], 'methods': []},
'CSMSettings': {'constants': [], 'properties': [], 'methods': []},
'Font': {'constants': [], 'properties': [], 'methods': []},
'FontStyle': {'constants': [], 'properties': [], 'methods': []},
'FontType': {'constants': [], 'properties': [], 'methods': []},
'GridFitType': {'constants': [], 'properties': [], 'methods': []},
'StaticText': {'constants': [], 'properties': [], 'methods': []},
'StyleSheet': {'constants': [], 'properties': [], 'methods': []},
'TextColorType': {'constants': [], 'properties': [], 'methods': []},
'TextDisplayMode': {'constants': [], 'properties': [], 'methods': []},
'TextExtent': {'constants': [], 'properties': [], 'methods': []},
'TextField': {'constants': [], 'properties': [], 'methods': []},
'TextFieldAutoSize': {'constants': [], 'properties': [], 'methods': []},
'TextFieldType': {'constants': [], 'properties': [], 'methods': []},
'TextFormat': {'constants': [], 'properties': [], 'methods': []},
'TextFormatAlign': {'constants': [], 'properties': [], 'methods': []},
'TextFormatDisplay': {'constants': [], 'properties': [], 'methods': []},
'TextInteractionMode': {'constants': [], 'properties': [], 'methods': []},
'TextLineMetrics': {'constants': [], 'properties': [], 'methods': []},
'TextRenderer': {'constants': [], 'properties': [], 'methods': []},
'TextRun': {'constants': [], 'properties': [], 'methods': []},
'TextSnapshot': {'constants': [], 'properties': [], 'methods': []}
},
'trace' : {
'Trace': {'constants': [], 'properties': [], 'methods': []}
},
'ui' : {
'ContextMenu': {'constants': [], 'properties': [], 'methods': []},
'ContextMenuBuiltInItems': {'constants': [], 'properties': [], 'methods': []},
'ContextMenuClipboardItems': {'constants': [], 'properties': [], 'methods': []},
'ContextMenuItem': {'constants': [], 'properties': [], 'methods': []},
'GameInput': {'constants': [], 'properties': [], 'methods': []},
'GameInputControl': {'constants': [], 'properties': [], 'methods': []},
'GameInputControlType': {'constants': [], 'properties': [], 'methods': []},
'GameInputDevice': {'constants': [], 'properties': [], 'methods': []},
'GameInputFinger': {'constants': [], 'properties': [], 'methods': []},
'GameInputHand': {'constants': [], 'properties': [], 'methods': []},
'KeyLocation': {'constants': [], 'properties': [], 'methods': []},
'Keyboard': {'constants': [], 'properties': [], 'methods': []},
'KeyboardType': {'constants': [], 'properties': [], 'methods': []},
'Mouse': {'constants': [], 'properties': [], 'methods': []},
'MouseCursor': {'constants': [], 'properties': [], 'methods': []},
'MouseCursorData': {'constants': [], 'properties': [], 'methods': []},
'Multitouch': {'constants': [], 'properties': [], 'methods': []},
'MultitouchInputMode': {'constants': [], 'properties': [], 'methods': []}
},
'utils' : {
'CompressionAlgorithm': {'constants': [], 'properties': [], 'methods': []},
'Endian': {'constants': [], 'properties': [], 'methods': []},
#'FlashUtilScript': {'constants': [], 'properties': [], 'methods': []},
'IDataInput2': {'constants': [], 'properties': [], 'methods': []},
'IDataOutput2': {'constants': [], 'properties': [], 'methods': []},
'IExternalizable': {'constants': [], 'properties': [], 'methods': []},
'SetIntervalTimer': {'constants': [], 'properties': [], 'methods': []},
'Timer': {'constants': [], 'properties': [], 'methods': []}
}
}
for n in featureMatrix:
for item in featureMatrix[n]:
uri = 'https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/' + n + '/' + item + '.html'
print uri
page = requests.get(uri)
tree = html.fromstring(page.content)
constants = tree.xpath('//table[@id="summaryTableConstant"]//tr[@class=""]//*//a[@class="signatureLink"]/text()')
properties = tree.xpath('//table[@id="summaryTableProperty"]//tr[@class=""]//*//a[@class="signatureLink"]/text()')
methods = tree.xpath('//table[@id="summaryTableMethod"]//tr[@class=""]//*//a[@class="signatureLink"]/text()')
featureMatrix[n][item]['constants'] = constants;
featureMatrix[n][item]['properties'] = properties;
featureMatrix[n][item]['methods'] = methods;
with open('flash-specification.json', 'w') as outfile:
json.dump(featureMatrix, outfile)