![]() |
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui. |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| nome del file di trasformazione | Vrms | Shell scripting e di programmazione | 16 | 05-27-2008 08:49 AM |
| Color Transformation Language 1.4.1 (Default succursale) | iBot | Software Uscite - RSS News | 0 | 03-18-2008 08:10 AM |
| Evento Transformation Services | iBot | Complex Event Processing RSS News | 0 | 08-24-2007 03:30 PM |
| Applicare la logica di trasformazione in 2 diversi file | HAA | Shell scripting e di programmazione | 1 | 07-10-2007 04:33 AM |
| Trasformazione lettera maiuscola | Dark Angel | UNIX for Dummies Domande & Risposte | 1 | 01-24-2002 04:17 PM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
|||||
|
Hi there,
Sto cercando di estrarre automaticamente gli orari di apertura di un sito web. La pagina che visualizza il calendario è http://www.natureetdecouvertes.com/p...sp?mag_cod\u003dxxx con xxx passando da 101 a 174 Sono riuscito a ottenere il seguente output: Codice:
le lundi de 10.30 à 19.30
le mardi de 9.30 à 19.30
blank
le jeudi de 9.30 à 19.30
le vendredi de 9.30 à 19.30
le samedi de 10.30 à 21.30
blank
bianco è una vera e propria linea vuota (non visualizza nulla) Come faccio ora ottenere il risultato finale: Codice:
"10:30 19:30|09:30 19:30| |09:30 19:30|09:30 19:30|10:30 21:30| " Santiago |
|
||||
|
Codice:
awk -F'[^0-9]+' '{b=b (NR>1?"|":"")($2?sprintf("%02d:%02d %02d:%02d",$2,$3,$4,$5):"")}END{print b}' yourfile.txt
Codice:
awk -F'[^0-9]+' '{b=b (NR>1?"|":"")($2?sprintf("%02d:%02d %02d:%02d",$2,$3,$4,$5):sprintf("%11s",""))}END{print b}' yourfile.txt
Ultimo a cura di colemar; al 05/26/2009 05:32 AM.. |
|
||||
|
se si dispone di Python, una quasi piena soluzione alternativa
Codice:
#!/usr/bin/env python
import urllib2,re
pat=re.compile(""".*<span class="tdBlancBold">(.*)<div align="center">.*""",re.M|re.DOTALL)
days=['lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche']
url="http://www.natureetdecouvertes.com/pages/gener/view_FO_STORE_corgen.asp?mag_cod=%s"
for num in range(101,174):
page=urllib2.urlopen(url % str(num))
data=page.read()
if not "Impossible" in data:
result = pat.findall(data)
store={}
for i in result:
for j in i.split("<br>"):
j=j.strip()
if j.startswith("le"):
j=j.split()
if j[1] in days:
t1,t2=j[-3],j[-1]
store.setdefault(j[1],[])
store[j[1]].extend([t1,t2])
for DAY in days:
try:
print "%s |" %( ' '.join(store[DAY])),
except:
print "\t\t|",
print ""
else:
print "Page not found ",url % str(num)
Codice:
# python test.py 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 19.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | | 10.00 21.00 | 10.00 20.00 | | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | | 10.00 21.00 | 10.00 21.00 | 10.00 21.00 | 10.00 21.00 | 10.00 21.00 | 10.00 20.00 | | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | | 10.00 20.00 | 10.00 21.00 | 10.00 21.00 | 10.00 21.00 | 10.00 21.00 | 10.00 20.00 | | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | | Page not found http://www.natureetdecouvertes.com/pages/gener/view_FO_STORE_corgen.asp?mag_cod=110 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | | |
![]() |
| Segnalibri |
| Tag |
| awk, sed |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|