Page 1 of 1

WEB Crawler

Posted: Mon Nov 06, 2006 1:11 am
by olga
Γειάσας παιδια!

Μήπως έχει χρησιμοποιήσει κανείς κάποιον crawler που μπορεί να πάει σε συγκεκριμένο url (ιστότοπος μιας ταινίας) και να τραβάει το όνομα του σκηνοθέτή;

Ευχαριστώ

Όλγα

Posted: Mon Nov 06, 2006 3:37 am
by ciao
Έχεις δοκιμάσει το http://www.imdb.com ? ;)

Posted: Mon Nov 06, 2006 8:10 am
by Erevodifwntas
Μπορείς να το κάνεις και μόνη σου (δεν είναι πάνω από 30 γραμμές κώδικα)

Posted: Mon Nov 06, 2006 9:43 am
by olga
Το site στόχος πράγματι είναι το IMDB. Αυτό που θέλω να κάνω είναι ο cralwer να παίρνει το ακριβές Url της ταινίας που είναι αποθηκευμένο σε έναν πίνακα και να μου γυρνάει το όνομα του σκηνοθέτη. (Το πλήθος των ταινιών είναι πάνω από 1000...).


Αγαπητέ Erevodifwnta μήπως μπορείς να μου δώσεις καμιά ιδέα για το πως ξεκινάμε για τις 30 γραμμές κώδικα?

Ευχαριστώ και τους δύο!

Όλγα

Posted: Mon Nov 06, 2006 10:34 am
by Erevodifwntas
Αφού έχεις και το ακριβές URL της ταινίας τα πράγματα είναι ακόμα πιο εύκολα...

αρχικά το πρόγραμμα κατεβάζει τη σελίδα που θες (6-7 εντολές είναι στη Java -το πολύ). για την ακρίβεια την αποθηκεύει σε ένα string (ουσιαστικά είναι ο html κώδικας της σελίδας). εκεί αν θες αφαιρεί τα tags της html, και έπειτα ξέροντας το pattern που ακολουθεί το site για την παρουσίαση των σκηνοθετών κάνεις ένα string.indexof("director") και τελείωσες (άρα ο crawler είναι λιγότερο από 30 γραμμές... 30 είναι αν θες να κάνει και το searching μόνος του)

Posted: Mon Nov 06, 2006 10:51 am
by olga
Σε ευχαριστώ για τις συμβουλές!!!!!

Καμιά καλή ιδεά για το πως θα παίρνει το πεδίο από το πίνακα της SQL και πως το όνονα του σκηνοθέτη θα μπαινει στο πεδίο της βάσης?

Ευχαριστώ!

Posted: Mon Nov 06, 2006 12:56 pm
by AmmarkoV
Βασικά αν δεν θές να μπλέκεις και με δίκτυα γιατί αυτό που λές μάλλον απλό είναι.. Μπορείς να κατεβάσεις όλα τα links από μια σελίδα με το Down Them All του Firefox , να τα επιλέξεις όλα , να κάνεις ένα rename ώς movies (οπότε και τα windows θα συμπληρώσουν movies1.html , movies2.html ,movies3.html ktl)
και στο πρόγραμμα σου να βάλεις ένα
for 1 έως 32 πάρε_σκηνοθέτη("movies"+i+".html");

Posted: Mon Nov 06, 2006 1:34 pm
by olga
Για την ακρίβεια τα links βρίσκονται όλα στο ίδιο domain imdb αλλά το καθένα movie έχει το δικό του link. Οπότε με κάποιο τρόπο πρέπει να πω στο πρόγραμμα να παίρνει το link από τον πίνακα και να πάει να κατεβάζει τον κώδικα ΗΤML.

Posted: Mon Nov 06, 2006 4:14 pm
by Erevodifwntas
Μπορείς να πάρεις από μία βάση στοιχεία (με εντολή Select) και να γράψεις σε αυτήν (Δες το μάθημα του Βασσάλου)