2012-02-22 61 views
1

私は添付ファイルの画像とともにURLをHTMLとして取得する必要があります。 htmlはカスタムファイル名で保存されます(私はそれに呼び出しスクリプトでタイムスタンプを与えています)、画像にもこれらのタイムスタンプが必要です。本質的に、これは、HTML内のローカル相対パスのための画像のパスを書き換える必要があるミラーであるhtmlファイルをミラーリングする方法と、指定されたファイル名のwgetを使用して画像をローカルに添付する方法はありますか?

2012-02-22 06:00:00 UTC.html 
2012-02-22 07:00:00 UTC.html 
2012-02-22 08:00:00 UTC.html 
img1_2012-02-22 06:00:00 UTC.gif 
img2_2012-02-22 06:00:00 UTC.gif 
img1_2012-02-22 07:00:00 UTC.gif 
img2_2012-02-22 07:00:00 UTC.gif 
img1_2012-02-22 08:00:00 UTC.gif 
img2_2012-02-22 08:00:00 UTC.gif 

得られたフォルダは次のように構成されるべきであるべきです。私はwgetの--directory-prefix--output-documentを使って遊んだことがありますが、実際には成功していません。なぜなら、イメージはhtml出力ファイルに埋め込まれているからです。

これは株式wgetで実行可能ですか、それとも、各ファイルをプルダウンして、文字列を適切に置き換えるhtmlファイルを解析するだけの独自のスクリプトを作成する方が良いですか?

答えて

1

hereを達成しようとしているのと同じようなことをしました。あなたのプログラムを作るために私がそこに持っているものを作り直すことができると確信しています。

チェックアウト4chan_image_crawler.rb

プログラムは、これらのことを行います。

  • URL(4chan.org/b/のスレッドURL)を指定すると、URLのHTMLファイル全体を含む文字列値を作成します。
  • 一部の正規表現操作では、関連するすべての画像URLをの出現という配列に配置します。
  • html文字列にはイメージリンクの重複が含まれています。したがって、重複をクリーンアップし、最終的な画像のURLリンクをという結果のという配列に保存してください。
  • 結果配列のすべてのエントリについて、現在のディレクトリ内の/ imagesフォルダにイメージを保存します。

私のコードを理解できない場合は教えてください。

これを成功させる鍵は、正規表現の操作方法を知り、スキャンをRubyのStringクラスから使用することです。

+0

おかげさまで、あなたは本質的に私が傾けていたことをやってきました。明らかに私のシナリオとまったく同じではないが、近い。私はwgetやそれに類するものが十分に柔軟であるとは思わないし、すべてのカスタマイズを完了し、ファイル名のHTML出力を吟味するときには、スクリプトを作成してすべてを取り出す方が良いあなたが最初に望むようにそれを保管してください。さらに、フルコントロールの利点もあります。 – ylluminate

関連する問題