0

ウェブサイトからコンテンツをダウンロードするために、ウェブスクレイパーを書いています。

Web サイト/URL に移動すると、一時 URL の作成がトリガーされます。この新しい URL には、圧縮されたテキスト ファイルがあります。この圧縮ファイルは、ダウンロードして解析する必要があります。

とその関数を使用して C#でスクレイパーを作成しました。圧縮されたファイルは、トラップされたイベントで指定された場所から読み取られます。WebClientDownloadFileAsync()DownloadFileCompleted

私の問題は、Windows の [開く/保存] ダイアログがトリガーされることです。これにはユーザー入力が必要であり、自動化は中断されます。

問題を回避する方法を提案できますか? 代替ライブラリを使用してコードを書き直すのはクールです。:)

読んでくれてありがとう

4

1 に答える 1

0

「HttpWebRequest」を使用してリクエストを実行し、ストリーミングされたバイトをディスクに保存できます。

var request = WebRequest.Create(@"your url here");
request.Method=WebRequestMethods.Http.Get;
var response = request.GetResponse();
using (var writeStream = new FileStream(@"path", FileMode.Create))
{
    using (var readStream = response.GetResponseStream())
    {
        var buffer = new byte[1024];
        var readCount = readStream.Read(buffer,0,buffer.Length);
        while (readCount > 0)
        {
            writeStream.Write(buffer,0,buffer.Length);
            readCount= readStream.Read(buffer,0,buffer.Length);
        }
    }
}
于 2012-09-12T14:43:18.543 に答える