2009-08-25 6 views
0

Je recherche une bibliothèque C# qui traduirait le code HTML (et le css spécifié dans le code) dans un arbre DOM pour une analyse plus simple. Je cherche quelque chose similaire à celui-ci (qui est en PHP): http://simplehtmldom.sourceforge.net/HTML vers la bibliothèque DOM

Bien sûr, je sais que je pourrais intégrer un contrôle de navigateur, mais je cherche quelque chose de plus efficace.

Répondre

3

Consultez le HTML Agility Pack. Il n'a pas été mis à jour depuis un moment, mais il fonctionne toujours très bien.

+0

En fait, j'étais en train de le regarder. Je ne vois pas de support pour les styles CSS. Donc, si j'ai un DIV, et qu'il a une classe avec background-image définie sur bg1.gif, l'analyse-t-elle? – webly

+0

@webly: à quoi cela ressemblerait-il s'il le faisait? Vous attendez-vous à voir les propriétés CSS comme des éléments dom ou des attributs, ou quelque chose de différent? – Stobor

+0

@webly: Non, je ne crois pas qu'il supporte CSS. Il analysera le code HTML actuel, mais toutes les métadonnées liées à CSS seront probablement perdues. Je ne suis pas sûr à quel point il serait difficile de modifier le code pour prendre en charge CSS, mais, comme Stobor l'a mentionné, comment voulez-vous voir les données CSS? –

0

Je seconde M. Dorman sur le HtmlAgilityPack. J'ai fait un brief blog post on web scraping il y a quelque temps; il mentionne le pack, mais discute surtout d'autres détails. Selon votre application, cela peut être utile.

0

Nous avons utilisé HTMLAgility ici dans notre projet pour extraire des balises html spécifiques avec un ensemble donné d'attributs en utilisant XPath et cela ne nous a jamais manqué.

0

Il n'y a aucun moyen d'obtenir DOM avec des styles comme ça. La seule option est le framework "Selenium" qui fonctionne avec un vrai navigateur.

Questions connexes