2011-08-08 4 views
0

Je veux extraire toutes les valeurs href d'un site PHP (Joomla) et l'enregistrer dans un fichier CSV ou quelque chose de similaire. J'ai accès à la table de contenu MySQL pour pouvoir peigner les données brutes si nécessaire.Extraction de toutes les valeurs href

I mai besoin de filtrer ce que j'extrais plus tard, mais pour l'instant je serais heureux de commencer à faire des idées.

Merci d'avance!

+0

Ce n'est pas un endroit où des milliers de bénévoles font votre travail – zerkms

+0

Je ne cherchais pas quelqu'un pour le faire _for_moi (ne l'avais-je pas dit clairement?) ... juste besoin d'idées pour commencer. – lee

+0

il ne semble pas que vous ayez fait quoi que ce soit pour résoudre votre problème. Qu'est-ce que vous êtes coincé avec? – zerkms

Répondre

1

Vous pouvez utiliser un analyseur HTML pour analyser le contenu HTML; s'il provient d'un fichier texte, d'un champ de base de données ou d'une URL. Un analyseur peut vous permettre d'extraire sélectivement le contenu du code HTML, dans votre cas, l'attribut href sur les étiquettes <a>.

J'ai utilisé PHP Simple HTML DOM Parser pour extraire ~ 1,5 Gig de données d'un site Web. Il y a un exemple de ligne 5-10 sur cette page qui pourrait vous aider à démarrer. Vous pouvez également utiliser les fonctions PHP DOM pour le travail. Vous pouvez trouver de nombreux exemples sur SO à propos de l'extraction de contenu spécifique (balises, attributs, nœuds de texte) à partir d'un bloc de HTML.

+0

Merci l'homme, juste la réponse que je cherchais :) mettra à jour sur la façon dont je m'entends. – lee

+0

J'ai joué avec PHP Simple HTML DOM Parser. On dirait qu'il ne peut pas explorer automatiquement un site entier. (ou avez-vous réussi à le faire avec votre ~ 1.5gb de données?!) Donc ... J'essaie de trouver un moyen de convertir la colonne sql en 1 fichier html géant pour l'analyse ... – lee

+0

@lee: crawling est un problème distinct. J'ai extrait les * liens d'intérêt * en utilisant un simple DOM, un identifiant/un nom de classe et un regex - pas tous les liens. En ce qui concerne la consolidation des données, vous pouvez le faire avec 3/4 lignes de code PHP; Je ne recommanderais pas cela, cependant, simple DOM jette sur les fichiers volumineux (à la fois analysé 600-800Kb fichiers, à un autre moment, il a épuisé la mémoire après 450Kb). –

Questions connexes