Quel est le meilleur moyen d'extraire le contenu d'un tableau à partir d'un groupe de fichiers HTML?

StackOverflow https://stackoverflow.com/questions/68691

Question

Après avoir nettoyé un dossier contenant des fichiers HTML avec TIDY, comment extraire le contenu des tableaux pour un traitement ultérieur?

Était-ce utile?

La solution

Cela dépend du type de traitement que vous souhaitez effectuer. Vous pouvez demander à Tidy de générer du XHTML, qui est un type de XML, ce qui signifie que vous pouvez utiliser tous les outils XML habituels tels que XSLT et XQuery pour les résultats.

Si vous souhaitez les traiter dans Microsoft Excel, vous devriez pouvoir découper le tableau en HTML et le placer dans un fichier, puis l'ouvrir dans Excel: il convertira avec plaisir un tableau HTML en un feuille de calcul. Vous pouvez ensuite l’enregistrer en tant que CSV ou en tant que classeur Excel, etc. (vous pouvez même l’utiliser sur un serveur Web - renvoyer un tableau HTML mais définir l’en-tête Content-Type sur application / ms-vnd.excel : Excel ouvre et importe le tableau et le transforme en feuille de calcul.)

Si vous souhaitez que le fichier CSV alimente une base de données, vous pouvez utiliser Excel comme auparavant ou si vous souhaitez automatiser le processus, vous pouvez écrire un programme utilisant l’API de navigation XML de votre choix pour effectuer une itération du fichier. les lignes de la table et les enregistrer au format CSV. Les modules Elementtree et CSV de Python faciliteraient la tâche.

Autres conseils

J'ai utilisé BeautifulSoup pour de telles choses dans le passé avec un grand succès.

Après avoir examiné les suggestions, j'ai finalement utilisé HtmlUnit .

Avec HtmlUnit, j'ai été en mesure de personnaliser le code Java pour ouvrir chaque fichier HTML du dossier, accéder à la balise TABLE, interrogez chaque contenu de colonne et extrayez les données nécessaires à la création d'un fichier CSV.

Dans .NET, vous pouvez utiliser le HTMLAgilityPack .

Consultez cette question précédente sur StackOverflow pour plus d'informations.

Si vous souhaitez extraire le contenu du balisage HTML, vous devez utiliser un type d’analyseur HTML. À cette fin, il y en a beaucoup et voici deux qui pourraient répondre à vos besoins:

http://jtidy.sourceforge.net/
http://htmlparser.sourceforge.net/

parcourir le texte et utiliser une expression régulière:)

http://www.knowledgehouse.sg

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top