2011-02-08 21 views
1

私は非常に新しいプログラマーです。ウェブサイトは、私が必要とする多くのzipファイルを提供しています。毎週更新され、新しいzipファイルがアップロードされます。私がする必要があるのは、ウェブから毎週自動ダウンロードするプログラム/スクリプトを書くことです。例えば、これはウェブリンクhttp://www.google.com/googlebooks/uspto-patents-applications-yellowbook.htmlです(そこにはたくさんのzipファイルがあります)。特定のWebサイトからファイルを自動的にダウンロード

私の質問は

です
  1. 私は何のスクリプトを書く必要がありますか(私は何かスクリプトを書いている経験がないので、何を提案できますか?)ので、プログラムでZipファイルをダウンロードできますか?

  2. 1番目の質問が解決したら、毎週アップロードされた新しいzipファイルをダウンロードするにはどうすればよいですか?

DOM ... unixを使用する必要がありますか?はいの場合は、それを動作させるためにtatに関するいくつかの調査を行います。

+0

Zipファイルの名前は毎週変わるのですか、それとも定数ですか? –

+0

DOMはUNIXとは関係ありません。 – DoctorLouie

+0

返信用のdrlouieとMichael ... http://www.google.com/googlebooks/uspto-patents-applications-yellowbook.html、リンクとして、あなたはそこのzipファイルを見ることができます..名前はアップロードされた日付に基づいて変更することができます.. – DEN

答えて

1

なぜwgetですか? HtmlAgilityPackを使用してウェブサイトを解析し、すべてのリンクを抽出することができます。次に、すべてのURLをループし、C#を使用してファイルをダウンロードします。そうしたい場合は、C#からwgetプロセスを開くこともできます。

一方、これはbashとsed/awkとgregetをwgetと組み合わせて使うと簡単に行うことができます。

いずれにしても、毎週ジョブをスケジュールするにはまだcronが必要です。

WebClient Client = new WebClient(); 
Client.DownloadFile("http://www.csharpfriends.com/Members/index.aspx", "index.aspx"); 
+0

困ったことに、窓でcronを使うことはできますか? – DEN

+0

Windowsのポート(cronw.sourceforge.net)がありますが、Windowsを使用しているときにWindowsのスケジューラを使用しないのはなぜですか? –

0

Linux/UNIXの場合は、スクリプトで 'wget'を使用してファイルをダウンロードし、 'cron'を使用してダウンロードスクリプトをスケジュールします。

+0

名前は毎週変わります - スクリーンスクレイピングもリンクのリストを取得するのに関与しますか? –

+0

ya、right。 wgetはまだ動作しますか? – DEN

+0

最初に 'wget'したいURLのリストを作る必要があります。 –

1

私はまた、Webページからデータをこすりするには、Java/Scalaのアプリケーションに非常に効果的JSoup(http://jsoup.org/)を使用しました。

関連する問題