μετατροπή ελληνικού html σε text (χύμα)

Nick Demou ndemou at gmail.com
Tue Oct 3 12:21:28 EEST 2006


με ένα bash script παρακολουθώ κάποιες ενδιαφέρουσες web σελίδες και
όποτε υπάρχει αλλαγή με ενημερώνει.
Αυτό παίζει αλλά θέλω να βλέπω και τι αλλαγή έγινε γιατί συχνά είναι
σε χαζομάρες (π.χ. διαφημίσεις). Στα αγγλικά το παρακάτω παίζει μια
χαρα

wget -q -O tmp.html  $URL
sed -e 's#<[^>]*>##g' tmp.html | sed -e 's/\t/ /g' | sed -e 's/  */
/g' | sed '/./!d' | uniq > $FILE.txt
diff -u $FILE.txt $OLDFILE.txt

αλλά στα ελληνικά τα διάφορα encodings είναι ένα μικρό πρόβλημα ενώ το
ακόμα χειρότερο πρόβλημα είναι τα ελληνικά με html entitys
(&sigma;&tau; κτλ).

Ψάχνω λοιπόν ένα utility το οποίο να κάνει σε ελληνικές σελίδες ότι
κάνει και το sed -e 's#<[^>]*>##g' στις αγγλικές (δηλαδή να διαβάζει
html και να αφερεί τα πάντα εκτός από το κυρίως κείμενο το οποίο να το
περνά στην έξοδο σε utf-8)

ΣΗΜΕΙΩΣΗ: Δοκίμασα το w3m το οποίο καταλαβαίνει όλα τα html encodings
αλλά το ρημάδι κάνει ΚΑΙ "έξυπνο" text rendering με τέτοιο τρόπο ώστε
το text να έχει το layout της σελίδας. Αυτό ακούγεται ωραίο εν πρώτης
αλλά στην περίπτωση μου καταστρέφει τα πάντα γιατί ανακατέβει γραμμές
του κυρίως περιεχομένου μιας σελίδας με τα πλαινά banners με
αποτέλεσμα το diff να βγάζει την μισή σελίδα ως αλαγμένη όταν
προσθέσεις μια γραμμή στην μέση του κυρίως κείμενου.




More information about the Linux-greek-users mailing list