Je cherche un outil qui peut être exécuté sur la ligne de commande comme ceci :
tablescrape 'http://someURL.foo.com' [n]
Si n
n'est pas spécifié et qu'il y a plus d'un tableau HTML sur la page, il doit les résumer (ligne d'en-tête, nombre total de lignes) dans une liste numérotée. Si n
est spécifié ou s'il n'y a qu'une seule table, il doit analyser la table et la renvoyer à la sortie en tant que CSV ou TSV.
Caractéristiques supplémentaires potentielles :
- Pour être vraiment sophistiqué, vous pourriez analyser un tableau dans un autre tableau, mais pour mes besoins - récupérer des données à partir de pages wikipedia et autres - c'est trop.
- Une option pour ascire tout unicode.
- Une option pour appliquer une substitution arbitraire de regex pour corriger les bizarreries dans la table analysée.
Qu'est-ce que vous utiliseriez pour bricoler quelque chose comme ça ? Le module Perl HTML::TableExtract peut être un bon point de départ et peut même gérer le cas des tables imbriquées. Cela pourrait aussi être un script Python assez court avec BelleSoupe . Est-ce que YQL serait-il un bon point de départ ? Ou, idéalement, avez-vous écrit quelque chose de similaire et avez-vous un pointeur dessus ? (Je ne suis sûrement pas la première personne à en avoir besoin).
Questions connexes :