Website text extraction

...εφαρμογές για οτιδήποτε άλλο

Συντονιστής: konnn

Re: Website text extraction

Δημοσίευσηαπό medigeek » 04 Οκτ 2010, 20:53

Δεν γνωρίζω γιατί προκαλεί αυτό το πρόβλημα. :(

Όμως, αυτό είναι ένα one-liner σε bash και perl. Ό,τι δεν λύνεται, το κάνουμε με perl scripting. :P
Κώδικας: Επιλογή όλων
wget -q 'http://www.metar.gr/?option=com_jumi&fileid=12&Itemid=73&station=1353' -O - | perl -e '@in={}; $i=1;while (<>) { if (m#(.*°C)#i) { $in[$i]=$1; $i+=1; }; }; print("Η Θερμοκρασία είναι: $in[1] Βαθμούς Κελσίου\nμε Μέγιστη θερμοκρασία $in[2] Βαθμούς Κελσίου\nκαι Ελάχιστη: $in[3] Βαθμούς Κελσίου\n");' > myfile.txt
cat myfile.txt


Τώρα να σου το εξηγήσω κομματάκι δύσκολο. Η perl είναι γλώσσα προγραμματισμού αρκετά ικανή για μετατροπή και επεξεργασία κειμένου. Μπορώ μόνο να στο σπάσω σε γραμμές:
Κώδικας: Επιλογή όλων
wget -q 'http://www.metar.gr/?option=com_jumi&fileid=12&Itemid=73&station=1353' -O - | perl -e '
@in={};
$i=1;
while (<>) {
if (m#(.*°C)#i) {
$in[$i]=$1;
$i+=1;
};
};
print("Η Θερμοκρασία είναι: $in[1] Βαθμούς Κελσίου\nμε Μέγιστη θερμοκρασία $in[2] Βαθμούς Κελσίου\nκαι Ελάχιστη: $in[3] Βαθμούς Κελσίου\n");' > myfile.txt
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Website text extraction

Δημοσίευσηαπό jim.christou » 07 Οκτ 2010, 02:35

Τέλεια ειναι οκ!
βασικα σκεφτικα να το αναβαθμισω λιγο, δεν ξερω αν υπαρχει καλυτερος τροπος για αυτο (λογικα θα υπαρχει αλλα εχω λιγες γνωσεις πανω σε linux και προγραμματισμο)

Κώδικας: Επιλογή όλων
wget -q 'http://www.metar.gr/?option=com_jumi&fileid=12&Itemid=73&station=1353' -O - | perl -e '
@in={};
$i=1;
while (<>) {
if (m#(.*°C)#i) {
$in[$i]=$1;
$i+=1;
};
};
print("Η Θερμοκρασία είναι: $in[1] Βαθμούς Κελσίου\nμε Μέγιστη θερμοκρασία $in[2] Βαθμούς Κελσίου\nκαι Ελάχιστη: $in[3] Βαθμούς Κελσίου\n");' > myfile.txt

wget -q 'http://www.metar.gr/?option=com_jumi&fileid=12&Itemid=73&station=1353' -O - | perl -e '
@in={};
$i=1;
while (<>) {
if (m#(.*Bf)#i) {
$in[$i]=$1;
$i+=1;
};
};
print("Η ταχύτητα του ανέμου είναι: $in[1] \n");' >> myfile.txt

perl -p -i -e s\°C\\g;
perl -p -i -e s\km/h\"χιλιόμετρα την ώρα ή αλλιώς"\g;
perl -p -i -e s\km/h\"Μποφόρ."\g;


Εθω θελω να κανω 2 ερωτησεις εκει που λεει διευθυνση ανεμου αν πας το ποντικι πανω απο το γραμμα εμφανιζει στο tooltip ολη την λεξη αυτο μπορει να ανακτηθεί απο το script και να το βαλει στο myfile.txt?

και δευτερον δεν μπορω να αποθηκευσω τις εντολες σε ενα αρχειο και να το εκτελω? ανοιγω το nano και δεν μπορω να γραωψ ελληνικα εκει μεσα. πως πρεπει να το κανω ωστε να αποθηκευτουν οι ελληνικες λεξεις στο scriptακι?

Ευχαριστω και καλο βραδυ
Τελευταία επεξεργασία από jim.christou και 07 Οκτ 2010, 03:05, έχει επεξεργασθεί 1 φορά/ες συνολικά
jim.christou
babeTUX
babeTUX
 
Δημοσιεύσεις: 55
Εγγραφή: 17 Ιουν 2009, 16:13
Εκτύπωση

Re: Website text extraction

Δημοσίευσηαπό medigeek » 07 Οκτ 2010, 03:04

Ποιος ο σκοπός του script; Επιμορφωτικός ή κάτι άλλο;
Επειδή τα δεδομένα μπορείς να τα βρεις μαζεμένα και κατ' ευθείαν από την πηγή:
http://www.metar.gr/?option=com_jumi&fi ... ation=1353
κλικ στο "Διεύθυνση Ιστοσελίδας Σταθμού" -- σε παίρνει στο http://nikaia-davis.meteoclub.gr/
"Τρεχων μήνας" στο τέλος της σελίδας > http://nikaia-davis.meteoclub.gr/NOAAMO.TXT
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Website text extraction

Δημοσίευσηαπό jim.christou » 07 Οκτ 2010, 03:17

Σε πρωτη φαση επιμορφοτικός σε δευτερη φαση και κυριότερη να δημιουργειτε ενα text file που θα περιεχει την στιγμιαία θερμοκρασια και ταχυτητα του ανεμου μαζι με τα min max της ημερας ωστε να μετατρεπεται σε wav (espeak) για να μπορει να γινει αναπαραγωγη.

Διστυχως δεν μου κανουν αυτα τα αρχεια (γνωριζω την υπαρξη τους)

Ελπιζω να καταλαβες τι ακριβως θελω...
jim.christou
babeTUX
babeTUX
 
Δημοσιεύσεις: 55
Εγγραφή: 17 Ιουν 2009, 16:13
Εκτύπωση

Re: Website text extraction

Δημοσίευσηαπό medigeek » 07 Οκτ 2010, 11:09

jim.christou έγραψε:διευθυνση ανεμου αν πας το ποντικι πανω απο το γραμμα εμφανιζει στο tooltip

Φυσικά, αν βρεις το κατάλληλο τρόπο να τα ξεχωρίσεις από το υπόλοιπο κείμενο:
έγραψε:<table width="40" height="40" border="0" cellpadding="0" cellspacing="0" align="center"><tr><td width="40" height="40" align="center" style="background-image: url('/000/icons/BF/3.gif'); background-repeat:no-repeat;"><a href="#" title="Ανατολικός Βορειοανατολικός - 3 BF"><img border="0" src="/000/icons/WIND/67.gif" width="40" height="40"></a></td></tr></table>


Μια πρώτη γεύση από perl εδώ: http://www.perl.com/pub/2000/10/begperl1.html - http://www.comp.leeds.ac.uk/Perl/start.html
Τα regular expressions επεξηγούνται εδώ: http://www.regular-expressions.info/ -- http://perldoc.perl.org/perlre.html

Κώδικας: Επιλογή όλων
wget -q 'http://www.metar.gr/?option=com_jumi&fileid=12&Itemid=73&station=1353' -O - | perl -e '
@in={};
@wind={};
$i=1;
while (<>) {
if (m#(.*) °C#i) {
$in[$i]=$1;
$i+=1;
} elsif (m#(.*) km/h - (.*) Bf#i) {
$wind[1]=$1;
$wind[2]=$2;
};
};
print("Η Θερμοκρασία είναι: $in[1] Βαθμούς Κελσίου\nμε Μέγιστη θερμοκρασία $in[2] Βαθμούς Κελσίου\nκαι Ελάχιστη: $in[3] Βαθμούς Κελσίου\n");
print("$wind[1] χιλιόμετρα την ώρα ή αλλιώς $wind[2] Μποφόρ\n");' > myfile.txt
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Website text extraction

Δημοσίευσηαπό jim.christou » 07 Οκτ 2010, 14:19

Και παλι Καλησπερα σας!

μια σημειωση (για τους επομενους αν χρειαστει) στο code που μου εδωσες ελεγες
Κώδικας: Επιλογή όλων
(m#(.*) °C#i)

αλλα δεν δουλεψε γιατι στο html το εχει ως Β°C (μαλλον λογο του χαρακτηρα °) οποτε το σωστο ειναι:
Κώδικας: Επιλογή όλων
(m#(.*)Β°C#i)

εριξα μια γρηγορη ματια (μιας και ειμαι στη δουλεια ακομα) στα links που μου εδωσες και εγραψα αυτο:
Κώδικας: Επιλογή όλων
wget -q 'http://www.metar.gr/?option=com_jumi&fileid=12&Itemid=73&station=1353' -O - | perl -e '
@in={};
$i=1;
while (<>) {
if (m#title="(.*) - [0-9] BF"><img border="0" src="/000/icons/WIND#i) {
$in[$i]=$1;
$i+=1;
};
};
print("var1: $in[1] \n");' > myfile.txt

Αρχικα, πες μου αν ειμαι σωστος...
Δεν θα σε ρωτουσα αλλα οταν το τρεχω και το html που κατεβαινει αρα και το txt που φτιαχω δεν βγαζει ελληνικα.
αυτο εχετε καμια ιδεα πως διορθωνεται?

εμφανιζει αυτο
Κώδικας: Επιλογή όλων
# wget -q 'http://www.metar.gr/?option=com_jumi&fileid=12&Itemid=73&station=1353' -O - | perl -e '
@in={};
$i=1;
while (<>) {
if (m#title="(.*) - [0-9] BF"><img border="0" src="/000/icons/WIND#i) {
$in[$i]=$1;
$i+=1;
};
};
print("var1: $in[1] \n");' > myfile.txt

# cat myfile.txt
var1: ΞΞΏΟΡιοαναΟ
ολικΟΟ

και στο html λεει
Κώδικας: Επιλογή όλων
<table width="40" height="40" border="0" cellpadding="0" cellspacing="0" align="center"><tr><td width="40" height="40" align="center" style="background-image: url('/000/icons/BF/4.gif'); background-repeat:no-repeat;"><a href="#" title="Ανατολικός Βορειοανατολικός - 4 BF"><img border="0" src="/000/icons/WIND/67.gif" width="40" height="40"></a></td></tr></table>

οποτε μαλλον ειναι σωστο.
μου μενει να του βαλω ελληνικα
I need help again! (sorry)

Περιμενω νεα σας!
Ευχαριστω
jim.christou
babeTUX
babeTUX
 
Δημοσιεύσεις: 55
Εγγραφή: 17 Ιουν 2009, 16:13
Εκτύπωση

Re: Website text extraction

Δημοσίευσηαπό medigeek » 07 Οκτ 2010, 22:49

Εμένα μια χαρά δουλεύει στο ubuntu, χωρίς "Β°C":
έγραψε:
$ bash --version
GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)

$ wget --version
GNU Wget 1.12 built on linux-gnu.

$ perl -v
This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi
[...]

$ wget -q 'http://www.metar.gr/?option=com_jumi&fileid=12&Itemid=73&station=1353' -O - | perl -e '
@in={};
@wind={};
$i=1;
while (<>) {
if (m#(.*) °C#i) {
$in[$i]=$1;
$i+=1;
} elsif (m#(.*) km/h - (.*) Bf#i) {
$wind[1]=$1;
$wind[2]=$2;
};
};
print("Η Θερμοκρασία είναι: $in[1] Βαθμούς Κελσίου\nμε Μέγιστη θερμοκρασία $in[2] Βαθμούς Κελσίου\nκαι Ελάχιστη: $in[3] Βαθμούς Κελσίου\n");
print("$wind[1] χιλιόμετρα την ώρα ή αλλιώς $wind[2] Μποφόρ\n");'

Η Θερμοκρασία είναι: 17.5 Βαθμούς Κελσίου
με Μέγιστη θερμοκρασία 20.2 Βαθμούς Κελσίου
και Ελάχιστη: 17.4 Βαθμούς Κελσίου
6.4 χιλιόμετρα την ώρα ή αλλιώς 2 Μποφόρ


..και τα ελληνικά:
έγραψε:
$ wget -q 'http://www.metar.gr/?option=com_jumi&fileid=12&Itemid=73&station=1353' -O - | perl -e '
@in={};
$i=1;
while (<>) {
if (m#title="(.*) - [0-9] BF"><img border="0" src="/000/icons/WIND#i) {
$in[$i]=$1;
$i+=1;
};
};
print("var1: $in[1] \n");'
var1: Ανατολικός Βορειοανατολικός
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Website text extraction

Δημοσίευσηαπό medigeek » 07 Οκτ 2010, 23:18

Μήπως δεν έχεις locale για ελληνικά; Δεν είμαι σίγουρος, αλλά μπορεί να χρειάζεται.
Κώδικας: Επιλογή όλων
locale -a


Κώδικας: Επιλογή όλων
sudo locale-gen el_GR.UTF-8
sudo locale-gen el_GR


Μια επανεκκίνηση μετά από τις εντολές λογικά θα το ρυθμίσει.
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Website text extraction

Δημοσίευσηαπό jim.christou » 08 Οκτ 2010, 01:13

medigeek έγραψε:
Κώδικας: Επιλογή όλων
sudo locale-gen el_GR.UTF-8
sudo locale-gen el_GR

Αυτες οι εντολες δεν δουλευουν σε centos απο οτι καταλαβα βρικα αυτο
http://articles.slicehost.com/2010/4/23/centos-5-4-setup-part-2
οπου λεει για locale αλλα οταν εκανα αυτα που ελεγε (με τα ελληνικα char) γυρισαν ολα στα ελληνικα και μου τα εμφανιζε τετραγονακια ολο το λειτουργικο. οποτε το ξανα εκανα en_US.UTF-8

Καποια αλλη ιδεα ή πρόταση?
jim.christou
babeTUX
babeTUX
 
Δημοσιεύσεις: 55
Εγγραφή: 17 Ιουν 2009, 16:13
Εκτύπωση

Re: Website text extraction

Δημοσίευσηαπό medigeek » 08 Οκτ 2010, 08:55

Το centos 5.5 έχεις; Αν όχι, αναβάθμισε το.

Μπες IRC: irc://chat.freenode.net/centos (Webchat -- Network Freenode, Κανάλι #centos)
Ρωτησε τους στα αγγλικά αν έχουν ιδέα πώς να εμφανίσεις ελληνικά στο centos.. είτε γιατί αυτή η εντολή εμφανίζει τετραγωνάκια αντί ελληνικά sto a href title:
Κώδικας: Επιλογή όλων

wget -q 'http://www.metar.gr/?option=com_jumi&fileid=12&Itemid=73&station=1353' -O - | grep BF
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Εφαρμογές Άλλες-Διάφορες