Ich bin derzeit Versuch HtmlAgilityPack verwenden, um bestimmte Links von einer HTML-Seite zu extrahieren. Ich habe versucht, C# zu benutzen, um mich hineinzuzwängen, aber das stellte sich als echter Schmerz heraus. Die Links sind alle innerhalb von <div>
Tags, die alle die gleiche Klasse haben. Hier ist, was ich habe:Abrufen bestimmter URLs mit HtmlAgilityPack C#
HtmlWeb web = new HtmlWeb();
HtmlDocument html = web.Load(url);
//this should select only the <div> tags with the class acTrigger
foreach (HtmlNode node in html.DocumentNode.SelectNodes("//div[@class='acTrigger']"))
{
//not sure how to dig further in to get the href values from each of the <a> tags
}
und die Websites Code sieht entlang der Linien dieser
<li>
<div class="acTrigger">
<a href="/16014988/d/" onclick="return queueRefinementAnalytics('Category','Battery')">
Battery <em> (1)</em>
</a>
</div>
</li>
<li>
<div class="acTrigger">
<a href="/15568540/d/" onclick="return queueRefinementAnalytics('Category','Brakes')">
Brakes <em> (2)</em>
</a>
</div>
</li>
<li>
<div class="acTrigger">
<a href="/11436914/d/1979-honda-ct90-cables-lines" onclick="return queueRefinementAnalytics('Category','Cables/Lines')">
Cables/Lines <em> (1)</em>
</a>
</div>
</li>
Es gibt eine Menge von Links auf dieser Seite, aber die href
Ich brauche innerhalb derer <a>
enthalten Tags, die innerhalb der <div class="acTrigger">
Tags verschachtelt sind. Es wäre einfach, wenn jeder <a>
freigegebenen eindeutigen Klassen, aber leider nur die <div>
Tags Klassen haben. Was ich tun muss, ist jeden dieser href
s zu nehmen und sie zu speichern, so dass ich sie später abrufen kann, zu jeder Seite gehen und mehr Informationen von jeder Seite abrufen kann. Ich brauche nur einen Schubs in die richtige Richtung, um über diesen Buckel hinwegzukommen, dann sollte ich auch die anderen Seiten machen können. Ich habe keine Erfahrung mit diesem HtmlAgilityPack und alle Beispiele, die ich finde, scheinen alle URLs von einer Seite extrahieren zu wollen, keine spezifischen. Ich brauche nur einen Link zu einem Beispiel oder Dokumentation, jede Hilfe wird sehr geschätzt.
Perfekte Antwort! Die/a lassen Sie mich in die -Tag und der Node.GetAttributeValue zog die Zeichenfolge für mich heraus. Tausend Dank! Kennen Sie gute Quellen, um zu erfahren, wie die Syntax von SelectNodes funktioniert? Es ist ein bisschen wackelig –
@KevinD wenn ich mich richtig erinnere, verwendet es Xpath. https://www.w3schools.com/xml/xpath_intro.asp – Tim