Amélioration du script et résolution des problèmes

Nous avons longtemps cherché à résoudre les problèmes que nous avions rencontré, notamment les problèmes concernant les encodages particulièrement persistant sur les URLs chinois. Nous en sommes arrivé à réorganiser la structure du script en relativisant la performance de la fonction file qui s’est finalement révélé pour nous plus handicapante qui bénéfique.

Dans le le script précédent nous utilisions la fonction file avant les autres alternatives. Le problème est qu’elle était non fiable pour plusieurs des encodages non-utf-8. Par exemple en donnant des résultats comme « UNKNOW 8 bits » qui n’était évidemment pas reconnu par iconv par manque de précision.

L’astuce a été d’appliquer la méthode de détection la plus fiable avant tout autre processus, c’est à dire egrep. En procédant ainsi nous avons considérablement amélioré les résultats tout en simplifiant le script (ce qui n’est pas négligeable!).

Nous avons maintenant la structure suivante :

capture

En réalité cette organisation suppose une expression régulière infaillible, en effet si nous récupérons un contenu autre qu’un encodage valide alors le programme ne pourrait pas traiter convenable l’URL. Pour une telle chose n’arrive pas nous avons tout misé sur la performance de notre expression régulière. Après avoir fait plusieurs modifications nous appliquerons celle qui semble la plus performante :

Capture.JPG

En réalité nous pouvions presque retirer la commande file, ce que nous avons essayé. Cependant nous l’avons réintégré pour les URLs dont les sites ne contiennent pas de charset, ou ceux qui ne respectent pas les conventions en usage. S’ils sont très rares, nous récupérons quand même quelques sites supplémentaires.

Si nous supposons que notre ligne « egrep + expression régulière » est infaillible, le seul autre problème que nous pourrions rencontrer concernerait encore la fonction file. Elle pourrait en effet toujours donner des résultats non-exploitables comme UNKNOW 8bits. Mais la très faible quantité d’encodage détectée par file rend cette possibilité quasi-infime.

Après avoir essayé le programme tout s’est passé correctement. la quasi – totalité des URLs ont été traitées correctement. Seuls les sites en maintenance ou ceux qui demandent une authentification manuelle donnaient des résultats non-exploitables.

La fin du projet arrive !

Andréa, Meixin et Pierre

Laisser un commentaire