2012-02-20 13 views
0

私の統計プロジェクトの1つとして、私はGoogle特許ページからいくつかのファイルをランダムにダウンロードする必要があり、各ファイルは大きなzipファイルです。ファイルをダウンロードするのに役立つ良いクローラーは何ですか

http://www.google.com/googlebooks/uspto-patents-grants-text.html#2012

具体的には、私がランダムに5年(ページの最上部にあるリンク)を選択して(すなわち5ファイル)をダウンロードしたい:ウェブリンクは次のようです。この仕事には良いパッケージがあるかどうか知っていますか?

ありがとうございます。

+0

すべてのアーカイブをダウンロードしてディスクに保存してからランダムにしてみませんか?私はどのプログラミング言語を書いているのか分かりませんが、C#ではこれを約20行のコード(与えても受け取ります)でも実行できます。 – Kiril

+0

それは本当ですが、チームプロジェクトであるため、サンプルをオンラインで選択し、選択されたものだけをダウンロードできるスクリプトを用意したいと考えています。これらのファイルはすべてかなり大きいので、メモリスペースを節約するために必要なものだけを手に入れたいと思っています。 –

答えて

1

そのページにはほとんどがzipファイルが含まれており、HTMLコンテンツを見ると、候補URLのコレクション内の*.zipを検索するだけで、どのリンクがzipファイルを生成するかを判断するのはかなり簡単なようです。私が推薦する:

fetch the page 
parse the HTML 
extract the anchor tags 
for each anchor tag 
    if href of anchor tag contaings "*.zip" 
     add href to list of file links 

while more files needed 
    generate a random index i, such that i is between 0 and num links in list 
    select i-th element from the links list 
    fetch the zip file 
    save the file to disk or load it in memory 

あなたは二度同じファイルを取得したくない場合は、単にリンクのリストからURLを削除し、それがランダムに別のインデックスを選択(あなたが十分なファイルを持ってまで、またはあなたが実行されるまで、リンクから外れている)。あなたのチームがどのようなプログラミング言語を書いているのか分かりませんが、上記のような小さなプログラムを書くのは難しくありません。

関連する問題