注文する
$ wget -r http://www.comp.brad.ac.uk/research/GIP/tutorials/index.html
同じディレクトリに別のページへのリンクがあっても、私にはダウンロードのみ可能ですindex.html
。robots.txt
例えば
<A HREF="viewp.html">Viewpoint specification</A>
なぜwget
これを無視するのですか?
答え1
私はこれをテストし、問題を見つけました。
wget は明示的に指示しない限り robots.txt を尊重します。
wget -r http://www.comp.brad.ac.uk/research/GIP/tutorials/index.html
--2015-12-31 12:29:52-- http://www.comp.brad.ac.uk/research/GIP/tutorials/index.html
Resolving www.comp.brad.ac.uk (www.comp.brad.ac.uk)... 143.53.133.30
Connecting to www.comp.brad.ac.uk (www.comp.brad.ac.uk)|143.53.133.30|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 878 [text/html]
Saving to: ‘www.comp.brad.ac.uk/research/GIP/tutorials/index.html’
www.comp.brad.ac.uk/research/GI 100%[======================================================>] 878 --.-KB/s in 0s
2015-12-31 12:29:53 (31.9 MB/s) - ‘www.comp.brad.ac.uk/research/GIP/tutorials/index.html’ saved [878/878]
Loading robots.txt; please ignore errors.
--2015-12-31 12:29:53-- http://www.comp.brad.ac.uk/robots.txt
Reusing existing connection to www.comp.brad.ac.uk:80.
HTTP request sent, awaiting response... 200 OK
Length: 26 [text/plain]
Saving to: ‘www.comp.brad.ac.uk/robots.txt’
www.comp.brad.ac.uk/robots.txt 100%[======================================================>] 26 --.-KB/s in 0s
2015-12-31 12:29:53 (1.02 MB/s) - ‘www.comp.brad.ac.uk/robots.txt’ saved [26/26]
FINISHED --2015-12-31 12:29:53--
ご覧のとおり、wgetは要求された操作を完全に実行します。
この場合、robots.txtは何を言いますか?
cat robots.txt
User-agent: *
Disallow: /
したがって、このサイトはロボットがコンテンツをダウンロードしたくありません。少なくともrobots.txtを読んでフォローするロボットはそうではありません。これは通常、ロボットが検索エンジンで索引付けされたくないことを意味します。
wget -r -erobots=off http://www.comp.brad.ac.uk/research/GIP/tutorials/index.html
今wgetが強すぎて学べないなら大丈夫です。しかし、欠陥がwgetにあると思う間違いを犯さないでください。
ただし、ウェブサイトを再帰的にダウンロードすることは危険なので、時にはウェブサイト全体をクロールしないように制限を使用することをお勧めします。
wget -r -erobots=off -l2 -np http://www.comp.brad.ac.uk/research/GIP/tutorials/index.html
-l2
最大2レベルまで示します。-l
意味: レベル。-np
つまり、ツリーの上に移動するのではなく、スタートページに入ります。-np
意味: 親がありません。
これはターゲットページによって異なり、時には取得したいものと取得したくないものを正確に指定したい場合があります。たとえば、この場合、グラフィック、PDF、音楽/ビデオ拡張子ではなく、デフォルトの.html/.htm拡張子のみを取得できます。この-A
オプションを使用すると、クロールする拡張の種類を追加できます。
ところで確認してみると、私のwgetバージョンは2015年バージョンの1.17です。どのバージョンを使用しているかわかりません。ところで、私の考えにはPythonも90年代に作られたようですが、皆さんの推論によるとPythonも90年代ごみです。
wget マニュアルページのように非常に有益で機能が豊富であることを認めますwget --help
。したがって、誰かがそれを読みたくない理由は理解できますが、最も一般的なwget操作を実行する方法を教えるオンラインチュートリアルがたくさんあります。
答え2
上記のような答えですが、不要なうまくいきません。
wget
ウェブサイトのrobots.txtを尊重してください。 robots.txtがそれを許可しない場合、再帰は進行しない可能性があります。この動作を無効にするには、フラグを追加してください-erobots=off
。