Wie nehme ich die Bilder, die ich mit HtmlAgilityPack bearbeite, richtig auf?

c# html-agility-pack web-scraping xpath

Frage

Ich arbeite gerade an einem Projekt und ich lerne HAP, während ich gehe. Ich bekomme die Grundlagen und es scheint, als könnte es sehr mächtig sein.

Ich habe gerade ein Problem, ich versuche, ein Produkt auf dieser einen Website zu scrappen und die Links zu den Bildern zu bekommen, aber ich weiß nicht, wie ich den Link aus dem XPath extrahiere. Ich habe das mit Regex gemacht, was viel einfacher war, aber ich mache diesen HAP weiter.

Dies ist mein derzeitiger Code. Ich denke nicht, dass es sehr nützlich sein wird, um zu sehen, aber ich werde es auf jede Art und Weise herausbringen.

    private static void HAP()
    {
        var url = "https://www.dhgate.com/product/brass-hexagonal-fidget-spinner-hexa-spinner/403294406.html#gw-0-4|ff8080815e03d6df015e9394cc681f8a:ff80808159abe8a5015a3fd78c5b51bb";
        // HtmlWeb - A Utility class to get HTML document from http
        var web = new HtmlWeb();
        //Load() Method download the specified HTML document from an Internet resource.
        var doc = web.Load(url);

        var rootNode = doc.DocumentNode;

        var divs = doc.DocumentNode.SelectNodes(String.Format("//IMG[@src='{0}']", "www.dhresource.com/webp/m/100x100/f2/albu/g5/M00/14/45/rBVaI1kWttaAI1IrAATeirRp-t8793.jpg"));
        Console.WriteLine(divs);
        Console.ReadLine();
    }

Dies ist der Link, von dem ich kratze

https://www.dhgate.com/product177-led-light-up-hand-spinners-fidget-spinner/398793721.html#s1-0-1b;searl|4175152669

Und das sollte der xPath des ersten Bildes sein.

//IMG[@src='//www.dhresource.com/webp/m/100x100s/f2-albu-g5-M00-6E-20-rBVaI1kWtmmAF9cmAANMKysq_GY926.jpg/2017-led-light-up-hand-spinners-fidget-spinner.jpg']

Beliebte Antwort

Ich erstelle dafür eine Hilfsmethode. Ich musste den Knoten und dann das Attribut abrufen und dann das Attribut durchlaufen, um alle Verknüpfungen zu erhalten.

private static void HAP()
        {
            //Declare the URL
            var url = "https://www.dhgate.com/product/brass-hexagonal-fidget-spinner-hexa-spinner/403294406.html#gw-0-4|ff8080815e03d6df015e9394cc681f8a:ff80808159abe8a5015a3fd78c5b51bb";
            // HtmlWeb - A Utility class to get HTML document from http
            var web = new HtmlWeb();
            //Load() Method download the specified HTML document from an Internet resource.
            var doc = web.Load(url);

            var rootNode = doc.DocumentNode;

            var nodes = doc.DocumentNode.SelectNodes("//img");
            foreach (var src in nodes)
            {
                var links = src.Attributes["src"].Value;
                Console.WriteLine(links);
            }
            Console.ReadLine();
        }



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum