3

後で分析するために大量の Web ページをダウンロードすることに興味があります。やりたいことは2つあります。

  • ページと関連リソース (画像、記事に関連付けられた複数のページなど) を WARC ファイルにダウンロードします。
  • 現在のローカル ファイルを指すようにすべてのリンクを変更します。

これをPythonでやりたいです。

これを行うための適切なライブラリはありますか? Scrapy は、単一のページではなく Web サイトをスクレイピングするように設計されているようで、WARC ファイルを生成する方法がわかりません。もっとpythonネイティブなものがない場合、wgetを呼び出すことは実行可能な解決策です。Heritrix は完全に行き過ぎであり、Python ソリューションとしてはあまり優れていません。wpull は、十分に文書化された Python ライブラリがあれば理想的ですが、ほとんどがアプリケーションのようです。

他のアイデアはありますか?

4

1 に答える 1

3

wgetを使用するだけで、Web をクロールして warc に保存できる最もシンプルで安定したツールです。

man wget、または単に開始するには:

--warc-file=FILENAME        save request/response data to a .warc.gz file
-p,  --page-requisites           get all images, etc. needed to display HTML page

リンクを変更する必要はありません。warcは元の Web ページを保持します。warc コンテンツを再び閲覧可能にするのは、再生ソフトウェア (openwayback、pywb) の仕事です。

Python を使用する必要がある場合: Internetarchive/warcがデフォルトのライブラリです。

warc ファイルampoffcom/htmlwarcを手動で作成する場合は、これを参照してください。

于 2016-12-21T22:49:54.567 に答える