wgetの代替

wgetの代替

私は基本的にHTMLページ、画像、サウンドで構成されたWebサイトをサーバーに運営しています。

このサーバーのパスワードを忘れたので、すべてをそこに保存する必要があります。ページを1つずつ見てすべての内容を保存できますが、サイトのページは100ページを超えています。

私はOSXを使用しています。を使ってみましたwgetが、サーバーからブロックされているようです。

このコンテンツを取得するために使用できる他の方法はありますか?

答え1

サーバーがwgetをブロックしている場合は、httpヘッダーの「User-agent:」フィールドに基づいてブロックする可能性が高くなります。なぜなら、それが最初にwgetについて知る唯一の方法だからです。また、IPをブロックする可能性があります。この場合、他のソフトウェアを使用することは役に立たないか、一連の要求速度に基づいて自動化を識別するいくつかの計画があります(実際の人は3.2秒で100ページを閲覧しないためです) )。私は誰かがこれをすることを聞いたことがありませんが、可能です。

wgetを遅くする方法は聞いたことがありませんが、ユーザーエージェントフィールドをなりすます方法はあります。

wget --user-agent=""

マニュアルページによると、「User-agent:」は必須ではなく、完全に削除されます。サーバーがこれが気に入らない場合は、--user-agent="Mozilla/5.0"どちらが十分に良いか試してみてください。

もちろん、「サーバーがブロックされていると思う」理由をよりよく説明すると役に立ちます。何を言ったのか、それとも時間が過ぎたのでしょうか?

答え2

普通に使うhttrackサイトからWebコンテンツをダウンロード/ミラーリングするために使用されます。

$ httrack http://2011.example.com -K -w -O . -%v --robots=0 -c1 %e0

実行したら、ローカルおよびナビゲーション可能なディレクトリ構造を取得します。たとえば、

$ ls -l
total 304
-rw-r--r--  1 saml saml   4243 Aug 17 10:20 backblue.gif
-rw-r--r--  1 saml saml    828 Aug 17 10:20 fade.gif
drwx------  3 saml saml   4096 Aug 17 10:20 hts-cache
-rw-rw-r--  1 saml saml    233 Aug 17 10:20 hts-in_progress.lock
-rw-rw-r--  1 saml saml   1517 Aug 17 10:20 hts-log.txt
-rw-------  1 saml saml 271920 Aug 17 10:22 hts-nohup.out
-rw-r--r--  1 saml saml   5141 Aug 17 10:20 index.html
drwxr-xr-x 10 saml saml   4096 Aug 17 10:21 2011.example.com

ダウンロードすると、次の種類の出力が表示されます。

Bytes saved:    21,89KiB           Links scanned:   12/45 (+4)
Time:   2s                         Files written:   4
Transfer rate:  2,65KiB/s (2,65KiB/s)  Files updated:   1
Active connections:     1          Errors:  7

Current job: parsing HTML file (57%)
 request -  2011.example.com/cgi-bin/hostnames.pl   0B /    8,00KiB

バックグラウンドで実行または一時停止した後に再起動できます。これはその能力の氷山の一角に過ぎません。ダウンロードを設定し、ダウンロードの進行状況を監視するためのGUIもあります。

についてたくさんありますhttrackウェブサイトそしてグーグルした。

関連情報