Προς το περιεχόμενο

Php parsing


Προτεινόμενες αναρτήσεις

Δημοσ.

Θέλω το πρόγραμμα να κάνει parsing μια ιστοσελίδα και να ανιχνεύει ένα συγκεκριμένο string. Στο τέλος θα εμφανίζει πόσες φορές το εντόπισε.

 

Το συγκεκριμένο string(όνομα) βρίσκεται μαζί με άλλα string μέσα σε ένα div class=gs_a

 

Ελπίζω να το ανάλυσα όσο γίνεται καλύτερα. Χρειάζομαι κώδικα ή πήγες όπου μπορώ να ψάξω

 

Ευχαριστώ εκ των προτέρων

Δημοσ.

Όχι 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;

  • Like 2

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...