Advertisement
max_tre

Untitled

Jan 19th, 2015
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 8.39 KB | None | 0 0
  1. #Python code
  2.  
  3. import urllib, urllib2, cookielib, hashlib, time
  4. def variables():
  5.         defdomain = '127.0.0.1'
  6.         defvdir = '/'
  7.         domain = "tifointer.org"
  8.         vdir = ""
  9.         uname = "USERNAME"
  10.         passwd = "PASSWORD"
  11.         vdir = vdir or defvdir
  12.         domain = domain or defdomain
  13.         if domain.startswith('http://'):
  14.                 url = domain
  15.         else:
  16.                 url = 'http://' + domain + vdir
  17.         login(url, uname, passwd, ultimagiornata)
  18. def login(url, uname, passwd, giornata):
  19.         loginurl = "http://www.tifointer.org/login.php?do=login"
  20.         md5 = hashlib.md5(passwd);md5 = md5.hexdigest()
  21.         opts = {
  22.         'do': 'login',
  23.         'vb_login_md5password': md5,
  24.         'vb_login_md5password_utf': md5,
  25.         's': '',
  26.         'vb_login_username': uname,
  27.         'security_token': 'guest',
  28.         }
  29.         data = urllib.urlencode(opts)
  30.         global headers
  31.         headers = {
  32.         'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-GB; rv:1.8.1.12) Gecko/20100101 Firefox/7.0.1',
  33.         'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  34.         'Accept-Language': 'en-gb,en;q=0.5',
  35.         'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
  36.         'Connection': 'keep-alive',
  37.         'Referer': loginurl
  38.         }
  39.         jar = cookielib.CookieJar()
  40.         opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
  41.         opener.addheader = headers
  42.         opener.open(loginurl, data)
  43.         for i in range(5):
  44.             response = opener.open('http://www.tifointer.org/vbsoccer.php?do=ranking&m='+str(giornata)+'&l=6&page='+str(i+1))
  45.             filename="C:/betzone/seriea/scan/"+str(giornata)+"-"+str(i+1)+".html"
  46.             f=open(filename,"w")
  47.             for line in response.readlines():
  48.                 f.write(line)
  49.             f.close()
  50.         for i in range(5):
  51.             response = opener.open('http://www.tifointer.org/vbsoccer.php?do=ranking&m='+str(giornata-1)+'&l=6&page='+str(i+1))
  52.             filename="C:/betzone/seriea/scan/"+str(giornata-1)+"-"+str(i+1)+".html"
  53.             f=open(filename,"w")
  54.             for line in response.readlines():
  55.                 f.write(line)
  56.             f.close()
  57.  
  58. localtime=time.asctime( time.localtime(time.time()) )
  59. ultimagiornata=int(raw_input("Giornata: "))
  60. variables()
  61.  
  62. diz1,diz2,diz,lst={},{},{},[]
  63. def scan(giornata,dizi):
  64.     for i in range(5):
  65.         f=open("C:/betzone/seriea/scan/"+str(giornata)+"-"+str(i+1)+".html","r")
  66.         lines=f.readlines()
  67.         f.close()
  68.         for linea in lines:
  69.             if '<th class="blocksubhead">Nome utente</th>' in linea:
  70.                 line=lines.index(linea)+10
  71.                 break
  72.         j=0
  73.         while lines[line+j][:19]=='\t\t<a href="members/' or lines[line+j][-19:]=='Cancellato</span>\r\n':
  74.             try:
  75.                 if '<span class="highlight">' in lines[line+j]:
  76.                     user=lines[line+j][lines[line+j].index('<span class="highlight">')+24:lines[line+j].index("</span>")]
  77.                 else:
  78.                     user=lines[line+j][lines[line+j].index('<span class="">')+15:lines[line+j].index("</span>")]
  79.             except:
  80.                 user="Cancellato"
  81.             pt0=lines[line+3+j][lines[line+3+j].index('<span style="color:#CC3300;">')+29:lines[line+3+j].index("</span>")]
  82.             pt1=lines[line+4+j][lines[line+4+j].index('<span style="color:#CC9900;">')+29:lines[line+4+j].index("</span>")]
  83.             pt2=lines[line+5+j][lines[line+5+j].index('<span style="color:#99CC00;">')+29:lines[line+5+j].index("</span>")]
  84.             pt3=lines[line+6+j][lines[line+6+j].index('<span style="color:#336600;">')+29:lines[line+6+j].index("</span>")]
  85.             if pt0=="-":
  86.                 pt0=0
  87.             if pt1=="-":
  88.                 pt1=0
  89.             if pt2=="-":
  90.                 pt2=0
  91.             if pt3=="-":
  92.                 pt3=0
  93.             pt0,pt1,pt2,pt3=int(pt0),int(pt1),int(pt2),int(pt3)
  94.             tot=pt1+2*pt2+3*pt3
  95.             dizi[user]=[pt0,pt1,pt2,pt3,tot]
  96.             j+=12
  97. scan(ultimagiornata,diz1)
  98. scan(ultimagiornata-1,diz2)
  99.  
  100. for x in diz1.keys():
  101.     if diz2.has_key(x)==False or ultimagiornata==1:
  102.         diz2[x]=[0,0,0,0,0]
  103.     diz[x]=[diz1[x][y]-diz2[x][y] for y in range(5)]
  104.     lst.append([x,diz[x],diz[x][2]+10*diz[x][3]+1000*diz[x][4]])
  105.  
  106.  
  107. f=open("C:/betzone/seriea/txt/"+str(ultimagiornata)+".txt","w")
  108. f.write("       Last update: "+localtime)
  109. f.write("\n\n  rank  Nome utente              +0  +1  +2  +3  TOT\n")
  110. npart=len(lst)
  111. saltati=0
  112. ultimo=["",[0,0,0,0,0],0]
  113. ultimi=0
  114. while lst!=[]:
  115.     for x in lst:
  116.         if x[2]==max(y[2] for y in lst):
  117.             if x[1][0]+x[1][1]+x[1][2]+x[1][3]>0:
  118.                 f.write("  ")
  119.                 if x[1][2]==ultimo[1][2] and x[1][3]==ultimo[1][3] and x[1][4]==ultimo[1][4]:
  120.                     f.write(str(npart-len(lst)-saltati-ultimi))
  121.                     ultimi+=1
  122.                 else:
  123.                     f.write(str(npart-len(lst)+1-saltati))
  124.                     ultimo[1]=x[1][:]
  125.                     ultimi=0
  126.                 f.write(" "*(6-len(str(npart-len(lst)-saltati-ultimi+1))))
  127.                 f.write(str(x[0]))
  128.                 f.write(" "*(25-len(x[0])))
  129.                 f.write(str(x[1][0]))
  130.                 f.write("   ")
  131.                 f.write(str(x[1][1]))
  132.                 f.write("   ")
  133.                 f.write(str(x[1][2]))
  134.                 f.write("   ")
  135.                 f.write(str(x[1][3]))
  136.                 f.write("   ")
  137.                 f.write(str(x[1][4]))
  138.                 f.write("\n")
  139.             else:
  140.                 saltati+=1
  141.             lst.remove(x)
  142. f.close()
  143.  
  144. import ftplib
  145. session = ftplib.FTP("ftp.arnetta.altervista.org","arnetta","bupfigobva45")
  146. file = open("C:/betzone/seriea/txt/"+str(ultimagiornata)+".txt","rb")
  147. session.storbinary("STOR seriea/txt/"+str(ultimagiornata)+".txt", file)
  148. file.close()
  149. session.quit()
  150.  
  151. f=open("C:/betzone/seriea/base.html","r")
  152. base=f.readlines()
  153. f.close()
  154. g=open("C:/betzone/seriea/txt/"+str(ultimagiornata)+".txt","r")
  155. classifica=g.readlines()
  156. g.close
  157. data=classifica[0][20:44]
  158. del classifica[0]
  159. del classifica[0]
  160. del classifica[0]
  161. stringa=""
  162. for line in classifica:
  163.     stringa+='\t'+'<td class="vbsoccer-alt1 vbsoccer_rankpos">'+line.split()[0]+'. <img src="http://www.tifointer.org/images/vbsoccer/empty.png" alt="" width="8" height="8"/></td>'+'\t'+'<td class="vbsoccer-alt1 rankinguser">'+'\t\t'+'<a href="http://www.tifointer.org/members/'+"-".join(line.split()[1:-5]).lower()+'.html"><span class="">'+" ".join(line.split()[1:-5])+'</span></a>'+'\t'+'</td>'+'\t'+'<td class="vbsoccer-alt2 vbsoccer_valuated">'+str(int(line.split()[-5])+int(line.split()[-4])+int(line.split()[-3])+int(line.split()[-2]))+'</td>'+'\t'+'<td class="vbsoccer-alt2 vbsoccer_ptssys_count"><span style="color:#CC3300;">'+line.split()[-5]+'</span></td>'+'\t'+'<td class="vbsoccer-alt2 vbsoccer_ptssys_count"><span style="color:#CC9900;">'+line.split()[-4]+'</span></td>'+'\t'+'<td class="vbsoccer-alt2 vbsoccer_ptssys_count"><span style="color:#99CC00;">'+line.split()[-3]+'</span></td>'+'\t'+'<td class="vbsoccer-alt2 vbsoccer_ptssys_count"><span style="color:#336600;">'+line.split()[-2]+'</span></td>'+'\t'+'<td class="vbsoccer-alt2 vbsoccer_matchday_points"></td>'+'\t'+'<td class="vbsoccer-alt1 vbsoccer_sumpoints"><b>'+line.split()[-1]+'</b></td>'+'</tr><tr>'
  164. base[482]=stringa+"\n"
  165. base[486]='\t\t(Ultimo aggiornamento: '+data+')</td>\r\n'
  166. base[465]='\t\t\t<td width="100%"><div class="leagueheadtitle">Serie A Italiana 2014/2015 - '+str(ultimagiornata)+'^ giornata</div>\r\n'
  167. if ultimagiornata==1:
  168.     base[466]='\t\t\t\t<div class="soccerleaguehomepage"><a href="2.html" target="_self">Giornata successiva</a></div>\r\n'
  169. elif ultimagiornata==38:
  170.     base[466]='\t\t\t\t<div class="soccerleaguehomepage"><a href="37.html" target="_self">Giornata precedente</a></div>\r\n'
  171. else:
  172.     base[466]=base[466].replace("gprec",str(ultimagiornata-1)+".html")
  173.     base[466]=base[466].replace("gsucc",str(ultimagiornata+1)+".html")
  174. h=open("C:/betzone/seriea/html/"+str(ultimagiornata)+".html","w")
  175. for line in base:
  176.     h.write(line)
  177. h.close()
  178.  
  179. import ftplib
  180. session = ftplib.FTP("ftp.arnetta.altervista.org","arnetta","PWD-SITO")
  181. file = open("C:/betzone/seriea/html/"+str(ultimagiornata)+".html","rb")
  182. session.storbinary("STOR seriea/"+str(ultimagiornata)+".html", file)
  183. file.close()
  184. session.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement