Htmlys

Print

Htmlys est une librairie gratuite qui permet aux développeurs d'interpréter le contenu web et de réagir aux jetons HTML (tels que les nombreux tags) découverts pendant l'interprétation. La librairie est distribuée à la fois en tant qu'extension dynamique pour PHP et en tant que module dynamique pour Python et est destinée à étendre les possibilités offertes par les deux langages de programmation.

Bien qu'interfacée via le mode utilisateur PHP et Python, le cœur de la librarie a été compilé en une forme binaire qui délivrera une vitesse d'interprétation substantiellement meilleure que si elle avait été écrite en code PHP ou Python, lequel devrait être d'abord compilé en bytecode intermédiaire, et exécuté par une machine virtuelle ensuite. Ent tant que tel, l'outile permet aux développeurs PHP et Python de se concentrer sur leur problème et de créer des spiders web rapides et professionnels ou d'autres puissants utilitaires de scraping avec facilitité et flexibilité.

Contrairement à l'extensions libxml fournie avec PHP, un outil qui est parfois utilisé pour interpréter des contenus HTML, Htmlys est un vrai interpréteur HTML 5 natif qui pourrait même propulser votre navigateur web. De plus, bien qu'au fait des de la dernière recommendation HTML 5, il peut aussi interpréter des documents HTML traditionnels, car HTML 5 est rétro-compatible avec ses versions antérieures. Généralement parlant, les principales différences entre les deux outils sont :

- libxml est conçu pour interpréter des documents XML bien formés, et peut échouer (ou produire des avertissements) sur des documents HTML, lesquels ne sont souvent pas bien formés. Les avertissements peuvent être désactivés mais sont levés par défaut.

- Htmlys est conçu pour interpréter des documents HTML, il n'échouera pas si les documents ne sont pas bien formés. Les erreurs d'interprétation sont détectées mais levés seulement si désiré.

- libxml ne connaît pas la sémantique HTML, il traitera les éléments de manière égale, tel que requis par la spécification XML.

- Htmlys connaît la sémantique HTML, il traiterq les éléments selon les règles définies par la spécification HTML 5. <script>, par example, a ses propres règles d'interprétation.

- De manière similaire, libxml ne connaît pas les entités HTML, il reconnaîtra et remplacera uniquement celles qui sont définies en XML.

- Htmlys connaît les entités HTML, il reconnaîtra et remplacera toutes les entités définies dans la spécification HTML 5.

Veuillez noter que bien que nous l'ayons pleinement testé avec succès sur de nombreuses pages web existantes, le logiciel a un statut expérimental et pourrait peut-être parfois se comporter de manière inattendue dans des conditions non testées. Nous améliorons cependant nos suites de test et le logiciel lui-même lorsque des incohérences sont découvertes, et nous prévoyons de le publier dans un statut stable bientot. Si vous trouvez un bug, vous pouvez nous aider à l'améliorer en nous envoyant votre retour et en fournissant éventuellement le document et le script qui a déclenché le problème.

Veuiller consulter le manuel pour PHP ou le manuel pour Python pour apprendre comment utiliser la librairie.