Je suis en train d'essayer de tirer de petites phrases de site (lol).
Le HTML de ce que j'essaie de tirer est ci-dessous.
<div class="field field-name-field-body-medium field-type-text-long field-label-hidden">
The community comics collaboration is back for another heaping helping of Academy fun!
</div>
Le code que j'utilise actuellement ne fonctionne pas.
var shortBio = doc.DocumentNode.Descendants("div").Where(p => p.Attributes.Contains("class") && p.Attributes["class"]
.Value.Contains("field field - name - field - body - medium field - type - text - long field - label - hidden"));
for (int i = 0; i < 5; i++)
{
blurbs[i] = shortBio.ElementAt(i).ToString();
}
évidemment cela ne fonctionne pas et je ne suis pas sûr de savoir comment tirer le texte. Je n'arrête pas de trouver des informations simplement en tirant
Merci d'avance.
On dirait que le parent de votre div
cible a reçu le teaser-content
classe teaser-content
qui peut être un bon identifiant. Le XPath suivant doit renvoyer le div
recherché:
//div[@class='teaser-content']/div
Ensuite, vous pouvez obtenir le texte du contenu de la div
partir de la propriété InnerText
, par exemple (remplacez SelectSingleNode()
par SelectNodes()
et parcourez le résultat si vous voulez que tous les s div
soient remplacés par le premier):
var doc = new HtmlWeb().Load("http://na.leagueoflegends.com/en/news/");
var div = doc.DocumentNode.SelectSingleNode("//div[@class='teaser-content']/div");
Console.WriteLine(div.InnerText);
sortie:
The community comics collaboration is back for another heaping helping of Academy fun!