2010-12-08 61 views
0

Je travaille sur un script d'analyse en PHP. J'utilise PHP Simple HTML DOM Parser. Après avoir obtenu le code HTML, j'ai besoin d'extraire seulement une partie de l'information de chaque page et de les agréger dans ma propre page HTML sur mon site.Exploration et travail sur HTML pour le site d'agrégation

Je n'arrive pas à comprendre comment procéder à ce sujet.

Toute aide est appréciée.

Ajouté

Je veux extraire certains postes (si elle est liée à une géographie particulière et sujet)

+1

Jésus. par où commencez-vous? Vous aurez besoin d'une stratégie pour ce que vous voulez faire. Par exemple, vous pourriez utiliser un fichier de mots-clés avec certaines des choses que vous voulez extraire, vous pourriez mettre en place une liste indiquant ce que vous voulez sortir ... Beaucoup de façons de peau ce chat .... – brumScouse

+0

exactement vous voulez extraire .... est-ce des adresses e-mail? –

+1

* (associé) * [Meilleures méthodes pour analyser HTML] (http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/3577662#3577662) – Gordon

Répondre

0

Les expressions régulières peuvent être le moyen d'obtenir des informations complexes sur les données, mais pour les balises simples que vous peut utiliser quelque chose comme:


// Création DOM depuis l'URL ou un fichier
$ html = file_get_html (' http://www.google.com/ ');

// Trouver toutes les images
foreach (html- > $ find (' img ') comme élément $)
echo $ element- > src. ' <br> ';

// Trouvez tous les liens
foreach ($ find html- > (' un ') comme élément $)
écho element- > $ href. ' <br> ';

0

Vous pouvez faire quelque chose comme ça:

$doc = new DomDocument(); 
@$doc->loadHTMLFile($url); 
$xpath = new DOMXpath($doc); 
$nodeList = $xpath->query("your-xpath-query"); 
foreach ($nodeList as $node) { 
    // grab the content, attributes or whatever you'r looking for 
} 

utilisant des requêtes XPath vous n'avez pas à parcourir l'arborescence DOM manuellement et votre script est plus robuste contre les changements structurels dans les sites que vous Crawl.

J'espère que cela vous met sur la bonne voie. Pour un exemple plus détaillé, vous devez fournir plus d'informations.

+1

depuis que vous mentionnez XQuery: attention à partager extension mature XQuery ou bibliothèque pour PHP? – Gordon

+0

Je veux dire des requêtes xpath. Edited ma réponse. – rik