2010-07-28 20 views
6

Est-ce que quelqu'un a intégré BeautifulSoup avec ASP.NET/C# (éventuellement en utilisant IronPython ou autre)? Y at-il une alternative BeautifulSoup ou un port qui fonctionne bien avec ASP.NET/C#BeautifulSoup et ASP.NET/C#

Le but de la planification à utiliser la bibliothèque est d'extraire texte lisible de toute URL aléatoire.

Merci

Répondre

9

Html Agility Pack est un projet similaire, mais pour C# et .NET


EDIT:

Pour extraire tout le texte lisible:

document.DocumentNode.InnerText 

Notez que cette retournera le contenu du texte des étiquettes <script>.

Pour résoudre ce problème, vous pouvez supprimer tous les <script> balises, comme ceci:

foreach(var script in doc.DocumentNode.Descendants("script").ToArray()) 
    script.Remove(); 
foreach(var style in doc.DocumentNode.Descendants("style").ToArray()) 
    style.Remove(); 

(Crédit: SLaks)

+0

Comment puis-je utiliser H AP pour gratter le texte lisible d'une page HTML. Dans BeautifulSoup, c'est très facile à faire. – user300981

+0

J'ai mis à jour ma réponse –

+0

DocumentNode.InnerText obtient tout le texte dans les balises . Mon inquiétude est que je dois supporter ceci pour les URLs qui ne suivent aucune norme. Il pourrait y avoir de la crasse partout. HAP est assez intelligent pour distinguer entre le texte lisible et les balises HTML non pertinentes, les commentaires, les scripts clients – user300981

0

Je sais que c'est assez vieux, mais j'ai décidé de poster ceci pour référence future. Je suis tombé sur cette recherche d'une solution similaire.

J'ai trouvé une bibliothèque construite sur le dessus de Html Agility pack appelé scrapysharp

Je l'ai utilisé de manière assez similaire que je beautifulsoup https://bitbucket.org/rflechner/scrapysharp/wiki/Home