2010-01-10 11 views
2

L'objectif principal étant d'extraire le titre, les balises META et les liens. J'ai essayé le HTMLLoader mais j'obtiens toutes sortes d'erreurs, principalement des exceptions javascript uncaught.parse html dans l'air d'adobe

J'ai également essayé de charger le contenu html directement (en utilisant URLLoader) et de pousser le texte dans HTMLLoader (en utilisant loadString (...)) mais j'ai eu la même erreur. Le dernier recours consistait à essayer de charger le texte dans xml, puis à utiliser des requêtes E4X ou xpath, sans aucune chance car le html n'est pas bien formé.

Mes questions sont les suivantes:

  1. Y at-il simple et fiable (air/script d'action) composant DOM là (je ne ai pas besoin pour afficher la page et le mode sans tête ferai)?
  2. Existe-t-il une bibliothèque pour convertir (corrompre) html en xml bien formé ainsi je peux employer xpath/E4X
  3. D'autres suggestions sur comment faire ceci?

thx

Répondre

1

ActionScript est censé être un surensemble de JavaScript, et heureusement, il y a ...

Pure JavaScript/ActionScript HTML Parser

créé par le gourou Javascript et créateur John jQuery Resig :-)

Une approche consiste à exécuter le code HTML via HTMLtoXML() puis utilisez E4X comme vous le souhaitez :)

1

AFAIK:

  1. Pas :-(
  2. Pas :-(
  3. Je pense que la meilleure façon de saisir le titre et les balises meta est en train d'écrire des expressions régulières. Vous pouvez charger le code HTML de la page dans une chaîne et ensuite lire ce que vous avez besoin comme ceci:

var str: String = ""; // placer le code HTML ici

var pattern:RegExp = /<title>(.+)<\/title>/i; 

trace(pattern.exec(str));