HTML Agility Packを使用して、Webサイトからすべてのイメージを取得するにはどうすればよいですか?


質問

私はHTMLAgilityPackをダウンロードしましたが、ドキュメントには例がありません。

私はウェブサイトからすべての画像をダウンロードする方法を探しています。アドレス文字列で、物理的なイメージではありません。

<img src="blabalbalbal.jpeg" />

私は各imgタグのソースを取得する必要があります。私はちょうど図書館とそれが何を提供できるのかを感じたい。誰もがこれが仕事のための最善のツールだと言いました。

編集

<img src="blabalbalbal.jpeg" />

受け入れられた回答

これはLINQを使って、次のようにすることができます:

var document = new HtmlWeb().Load(url);
var urls = document.DocumentNode.Descendants("img")
                                .Select(e => e.GetAttributeValue("src", null))
                                .Where(s => !String.IsNullOrEmpty(s));

編集 :このコードは実際に動作します。私はdocument.DocumentNodeを書くことを忘れていました。


人気のある回答

その1つの例に基づいていますが、変更されたXPathを使用しています。

 HtmlDocument doc = new HtmlDocument();
 List<string> image_links = new List<string>();
 doc.Load("file.htm");
 foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//img"))
 {
    image_links.Add( link.GetAttributeValue("src", "") );
 }

私はこの拡張子を知らないので、配列を他の場所に書き出す方法はわかりませんが、それは少なくともあなたのデータを取得します。 (また、私は配列を正しく定義していませんが、私は確信しています。

編集

あなたの例を使って:

 HtmlDocument doc = new HtmlDocument();
 List<string> image_links = new List<string>();
 doc.Load("file.htm");
 foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//img"))
 {
    image_links.Add( link.GetAttributeValue("src", "") );
 }




ライセンスを受けた: CC-BY-SA
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ