![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Dateiname Transformation | Vrms | Shell Programmierung und Scripting | 16 | 05-27-2008 09:49 AM |
| Color Transformation Language 1.4.1 (Default branch) | iBot | Software-Releases - RSS News | 0 | 03-18-2008 08:10 AM |
| Event Transformation Services | iBot | Complex Event Processing RSS News | 0 | 08-24-2007 04:30 PM |
| Bewerben Transformation Logik in 2 verschiedenen Dateien | HAA | Shell Programmierung und Scripting | 1 | 07-10-2007 05:33 AM |
| Transformation Großbuchstaben | Dark Angel | UNIX for Dummies Questions & Answers | 1 | 01-24-2002 04:17 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
|||||
|
Hi there, Ich versuche zu extrahieren automatisch Öffnungszeiten von einer Website. Die Seite mit den Listen ist http://www.natureetdecouvertes.com/p...sp?mag_cod\u003dxxx mit xxx geht von 101 bis 174 Ich, um die folgende Ausgabe: Code:
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
Es gibt eine Zeile pro Wochentag (Montag bis Sonntag) leer ist, eine tatsächliche leere Zeile (nicht die Darstellung nicht) Wie kann ich nun die letzte Ausgabe: Code:
"10:30 19:30|09:30 19:30| |09:30 19:30|09:30 19:30|10:30 21:30| " Vielen Dank für Ihre Hilfe. Santiago |
|
||||
|
Code:
awk -F'[^0-9]+' '{b=b (NR>1?"|":"")($2?sprintf("%02d:%02d %02d:%02d",$2,$3,$4,$5):"")}END{print b}' yourfile.txt
Wenn Sie wirklich wollen, 11 Räume statt einer leeren, dann: Code:
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
Zuletzt bearbeitet von colemar; am 05-26-2009 06:32 AM.. |
|
||||
|
Wenn Sie Python, eine fast vollständige Alternative Code:
#!/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)
Auszug der Ausgabe: Code:
# 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 | | |
![]() |
| Lesezeichen |
| Tags |
| awk, sed |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|