HtmlAgilityPack élément multiple

c# html-agility-pack regex

Question

J'ai un document HTML qui contient plusieurs divs

Exemple:

<div class="element">
    <div class="title">
        <a href="127.0.0.1" title="Test>Test</a>
    </div>
</div>

Maintenant, j'utilise ce code pour extraire l'élément title.

<div class="element">
    <div class="title">
        <a href="127.0.0.1" title="Test>Test</a>
    </div>
</div>

Je ne sais pas comment adapter mon code pour extraire simultanément l'élément href et l'élément title.

Chaque div doit être un objet avec les balises incluses comme propriétés.

<div class="element">
    <div class="title">
        <a href="127.0.0.1" title="Test>Test</a>
    </div>
</div>

Réponse acceptée

Vous pouvez utiliser la requête xpath suivante pour extraire uniquement les balises avec un titre et href:

//a[@title and @href]

Vous pouvez utiliser votre code comme ceci:

//a[@title and @href]

Réponse populaire

J'utilise très souvent le paquet ScrapySharp avec HtmlAgilityPack pour la sélection css.

(ajoutez une instruction using pour ScrapySharp.Extensions afin que vous puissiez utiliser la méthode CssSelect).

using HtmlAgilityPack;
using ScrapySharp.Extensions;

Dans votre cas, je ferais:

using HtmlAgilityPack;
using ScrapySharp.Extensions;



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi