billps Δημοσ. 8 Νοεμβρίου 2012 Δημοσ. 8 Νοεμβρίου 2012 Θέλω το πρόγραμμα να κάνει parsing μια ιστοσελίδα και να ανιχνεύει ένα συγκεκριμένο string. Στο τέλος θα εμφανίζει πόσες φορές το εντόπισε. Το συγκεκριμένο string(όνομα) βρίσκεται μαζί με άλλα string μέσα σε ένα div class=gs_a Ελπίζω να το ανάλυσα όσο γίνεται καλύτερα. Χρειάζομαι κώδικα ή πήγες όπου μπορώ να ψάξω Ευχαριστώ εκ των προτέρων
macabre_sunsets Δημοσ. 8 Νοεμβρίου 2012 Δημοσ. 8 Νοεμβρίου 2012 Μπορείς να χρησιμοποιήσεις το cURL για να πάρεις τα δεδομένα της ιστοσελίδας και στη συνέχεια Regural Expressions (hint: preg_match) για να βρεις το πλήθος των εμφανίσεων της συμβολοσειράς που ψάχνεις.
defacer Δημοσ. 8 Νοεμβρίου 2012 Δημοσ. 8 Νοεμβρίου 2012 Όχι regexes για το parsing εκτός κι αν ψάχνεις να βρεις κάτι απίστευτα πάρα πολύ απλό. Στη γενική περίπτωση πρέπει να μάθεις μια τζούρα XPath και να το κάνεις με DOMDocument και DOMXPath. Αυτή η προτεινόμενη επιλογή και πολλές επιπλέον πληροφορίες αναφέρονται εδώ (με links σε παραδείγματα). Επίσης, αν δεν έχεις ιδιαίτερες απαιτήσεις για το πώς θα είναι το HTTP request με το οποίο θα τραβήξεις την HTML σου, μπορείς αντί για curl να χρησιμοποιήσεις απλά την file_get_contents. Αν σου κάνει είναι το ευκολότερο πράγμα που υπάρχει. Τελείως χύμα παράδειγμα: >$html = file_get_contents('http://www.google.gr'); $doc = new DOMDocument; // Google's homepage is not quite valid HTML, so we have to // tell the parser not to complain when loading it. libxml_use_internal_errors(true); $doc->loadHtml($html); $xpath = new DOMXPath($doc); $title = $xpath->evaluate("string(//head/title)"); echo $title; 2
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα