2009-02-07 6 views
3

Je suis habitué à créer des robots d'exploration de compiler des informations et que je viens à un site Web que j'ai besoin l'info je commence un nouveau robot spécifique pour ce site, en utilisant des scripts shell la plupart du temps et parfois PHP .Comment développer les meilleures robots d'exploration Web

La façon dont je fais est avec un simple for à itérer pour la liste de la page, un wget ne téléchargez et sed, tr, awk ou d'autres utilitaires pour nettoyer la page et saisir les informations spécifiques dont j'ai besoin.

Tout le processus prend un certain temps en fonction du site et plus de télécharger toutes les pages. Et j'étapes souvent dans un site AJAX qui complique tout

Je me demandais s'il y a de meilleures façons de le faire, des moyens ou même certaines applications ou langues plus rapides pour aider ce travail.

Répondre

6

L'utilisation d'expressions régulières pour l'analyse du contenu est une mauvaise idée qui a été couverte dans des questions ici d'innombrables fois.

Vous devez analyser le document dans une arborescence DOM, puis extraire les liens hypertexte, feuilles de style, fichiers de script, images ou autres liens externes souhaités et les parcourir en conséquence.

De nombreux langages de script ont des paquets pour obtenir des pages Web (par exemple pour PHP boucle) et pour l'analyse syntaxique HTML (par exemple Belle soupe pour Python). Aller cette route au lieu de la solution hackky de correspondance d'expression régulière.

+0

Je pense que [XMLawk] (http://gawkextlib.sourceforge.net/) peut être une sélection. –

2

Si vous utilisez python, Scrapy est grande est facile à utiliser.