Comment réparer le code HTML mal formé à l'aide de C #? Une bonne réponse serait un exemple de HTML Agility Pack!
Je gratte un site (pour un usage légitime). Le code HTML du site est correct mais il y a quelques problèmes gênants.
Une façon de faire serait de passer par des expressions régulières. J'ai utilisé Expression Web pour analyser les problèmes et les expressions régulières nécessaires pour les corriger. Ainsi, un moyen serait d'utiliser un outil tel que RegexBuddy pour générer du code C # pour ces expressions régulières.
Cependant, l'outil recommandé pour le traitement du code HTML mal formé en C # est le HTML Agility Pack (HAP). De plus, j’ai analysé seulement une poignée de pages et je crains que les pages futures ne contiennent des motifs que je n’ai pas encore résolus, et je n’aimerais pas entrer dans la zone "Trouver les erreurs dans les pages suivantes et les corriger" Entreprise. Donc, si HAP a déjà une solution solide et toujours efficace, ce serait formidable. Le problème est que, à l'exception de quelques mentions chez SO, je n'ai trouvé aucune documentation d'utilisation de cet outil, à l'exception du fichier d'aide de l'API, objet par objet.
Donc, avant de passer du temps à apprendre RegexBuddy (pas de version d'évaluation gratuite), ou de me casser les dents sur la documentation de l'API HAP, existe-t-il un moyen simple de le faire? Un échantillon HAP aiderait ... :-)
Ce que j’ai retenu des réponses fournies ici: 1) Si vous supprimez un site Web que vous ne contrôlez pas, vous entrerez toujours en mode de maintenance dans lequel vous devrez réparer votre scraper chaque fois que la mise en page de la page que vous modifiez est modifiée . 2) Si vous êtes limité à ce site connu, pourquoi ne pas écrire votre grattoir pour régler les problèmes
Donc, si je dois passer en mode maintenance, cela devrait être aussi simple que possible. Par conséquent, mon processus est le suivant:
J'espère que cela t'aides!
Avi
pouvez-vous me dire quel genre de problèmes ennuyeux avez-vous?
mais vous n'avez pas besoin d'utiliser regex pour nettoyer le code HTML, HAP vous permettra d'accéder aux éléments d'un code HTML mal formé à l'aide de requêtes Xpath.
et fondamentalement, vous devez apprendre Xpath pour savoir comment obtenir les éléments HTML que vous souhaitez.
cela dépend vraiment du type de HTML que vous analysez avec HAP.
mais il y a plusieurs façons d'obtenir les éléments.
comme par id ou par classe ou même vous pouvez obtenir l’élément qui suit un autre élément contenant un texte donné tel que "nom:" par exemple.
vous pouvez aller au tutoriel Xpath pour les écoles W3 pour un bon tutoriel xpath