2

Web URL ( ) を入力するアプリケーションを作成しようとしていますhttp://www.explosm.net/comics/3104/。xpath ( ) を指定すると、最初に見つかったリンクを含む文字列が自動的に保存//*[@id="maincontent"]/div[2]/div[2]/div[1]/imgされます。これは、ダウンロードしたい画像です。

正直なところ、どこから始めればよいかわかりません。HtmlAgilityPackとクラスを試しましたが、WebBrowser何をどのように行うべきかを理解するのに役立つものが見つかりませんでした。

どんな助けでも大歓迎です。

4

1 に答える 1

2

HTMLAgilityPackを使用すると非常に簡単です。

var w = new HtmlWeb();
var doc = w.Load("http://www.explosm.net/comics/3104/");

var imgNode = doc.DocumentNode.SelectSingleNode("//*[@id=\"maincontent\"]/div[2]/div[2]/div[1]/img");

var src = imgNode.GetAttributeValue("src", "");

変数srcの値はですhttp://www.explosm.net/db/files/Comics/Matt/Dont-be-a-dickhead.png

次に、画像をダウンロードするだけです。

var request = (HttpWebRequest)WebRequest.Create(src);
var response = request.GetResponse();

var stream = response.GetResponseStream();

//Here you have an Image object
Image img = Image.FromStream(stream);

//And you can save it or do whatever you want
img.Save(@"C:\file.png");
于 2013-03-10T03:14:22.590 に答える