1+ #!/usr/bin/python
2+
13import json
24import time
35import threading
4- from urllib import request
5- from progress .bar import Bar
6+ import requests
7+ import random
8+ # from progress.bar import Bar
69from datetime import datetime
710
811filename = "lista_urls.txt"
@@ -14,44 +17,57 @@ def create_json(nomeJson, logger):
1417def execute_url_list (casa , logger , nomeJson ):
1518 try :
1619 start = time .time ()
17- result = request .urlopen (casa )
20+ # print(casa)
21+ result = requests .get (casa )
1822 end = time .time ()
19- if result .status != 200 :
20- log = {'url' :casa ,'status' :result .status ,'tempo' :end - start }
21- logger ['erros' ].append (log )
23+ # import ipdb; ipdb.set_trace()
24+ if not result .ok :
25+ log = {'url' :casa ,'status' :result .status_code ,'latency' :end - start }
26+ logger ['errors' ].append (log )
27+ # else:
28+ # print('OK')
2229 except Exception as e :
2330 end = time .time ()
24- log = {'url' :casa , 'status' :str (e ),'tempo' :end - start }
25- logger ['erros' ].append (log )
26- return (logger )
27- create_json (nomeJson , logger )
31+ log = {'url' :casa , 'status' :str (e ),'latency' :end - start }
32+ logger ['errors' ].append (log )
33+ print ('erro: %s' % casa )
34+ # create_json(nomeJson, logger)
35+ return logger
2836
2937def threads (casas , logger , nomeJson ):
30- bar = Bar ('Loading' , fill = '@' , suffix = '%(percent)d%%' ,max = 1000 )
38+ # bar = Bar('Loading', fill='@', suffix='%(percent)d%%',max= 1000)
3139
3240 threads = [threading .Thread (target = execute_url_list ,
3341 args = (casa ,logger , nomeJson , )) for casa in casas ]
3442
3543 print ("Start" )
3644 for thread in threads :
3745 thread .start ()
38- bar .next ()
46+ # bar.next()
3947 for thread in threads :
4048 thread .join ()
41- bar .goto (1000 )
49+ # bar.goto(1000)
4250
4351
4452def main ():
45- while (True ):
46- logger = {'erros' :[]}
47- nomeJson = "{}.json" .format (str (datetime .now ()))
48- with open (filename ) as casas :
49- casas = list (casas )
50- casas = casas [1 :]
51- threads (casas , logger , nomeJson )
52- print ()
53+ # while True:
54+ logger = {'errors' :[]}
55+ nomeJson = "{}.json" .format (datetime .now ().strftime ("%Y%m%dT%H%M" ))
56+ with open (filename ) as f :
57+ casas = f .read ().split ()
58+ random .shuffle (casas )
59+ # casas = casas[1:2]
60+ start = 0
61+ end = 100
62+ while True :
63+ threads (casas [start :end ], logger , nomeJson )
64+ print (end )
65+ if end > len (casas ):
66+ break
67+ start = end
68+ end += 100
5369 print ("Done!" )
54- time .sleep (300 )
70+ # time.sleep(300)
5571
5672
5773
0 commit comments