2017-09-20 11 views
1

私は現在、プロジェクトに取り組んでいます。私が行っているように、私はHAPを学んでいます。 私はそれの基本を得て、それは非常に強力であるように思われます。HtmlAgilityPackでスクラップした画像を正しく取得するにはどうすればよいですか?

私は今、問題を抱えています、この1つのウェブサイトで製品を掻き集めて画像へのリンクを取得しようとしていますが、xpathからリンクを抽出する方法はわかりません。 私はこれをやっていたRegexでこれをやっていましたが、私はこのHAPを使いこなしています。

これは私の現在のコードですが、私はそれを見るのは非常に便利だとは思っていませんが、いずれにしてもそれを出すでしょう。

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(); 
    } 

これは私が

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

から掻き落としていたリンクであり、これは最初の画像のたxPathでなければなりません。

//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'] 
+0

かなりシンプルに見える - 正確にあなたは苦労していますか? – BugFinder

+0

私は製品のすべての画像のリンクを取得しようとしていますが、私は現在その部分に固執しています。 –

+0

あなたは "img [@ src = '']"を探し、その文字列のURLを引き出す必要があります – BugFinder

答えて

0

私はこのためのヘルパーメソッドを作成します。 ノードを取得して属性を取得し、属性を循環させてすべてのリンクを取得する必要がありました。

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(); 
     } 
関連する問題