Wget で必要なファイルを保存するのに問題があります - ディレクトリを除外しても機能しないようです

Wget で必要なファイルを保存するのに問題があります - ディレクトリを除外しても機能しないようです

エネルギー・気候変動省による 500 ポンドを超える政府支出をすべてダウンロードします。これらは .xls および .xlsx ファイルで、月に 1 回生成されます。これらは次のような場所に保存されます。

https://www.gov.uk/government/uploads/system/uploads/attachment_data/file/209425/20130627_April_2013_PUS_.xls

ファイルの後の番号は一意の番号であり、ファイル名には命名の一貫性はありません。これらのファイルは、次の形式の個別の月次ページからリンクされています。

https://www.gov.uk/government/publications/departmental-spend-over-500-april-2013 より

次は、次のインデックス ページからリンクします。

https://www.gov.uk/government/collections/departmental-spend-over-500

このコマンドは次のように機能します:

wget -r --force-html -e robots=off -A xls,xlsx,"" -l 2
https://www.gov.uk/government/collections/departmental-spend-over-500

しかし、.xls および .xlsx ファイルだけでなく、.gov.uk サイトの完全なディレクトリ (開始した場所から 2 つのリンクの深さまで) も取得します。これにより、.xls ファイル以外に約 100 MB のテキスト/HTML ファイルがダウンロードされますが、これは少し多すぎます。そこで、私の質問は次のとおりです。

wget で上記のディレクトリからのソースのみを取得するか、あるいは明らかに不要なものを除外するにはどうすればよいでしょうか?

明らかな -I および -X、-D などのコマンドを試しましたが、うまくいきませんでした。注意: -A スイッチに "" と xls ファイルを含める必要がありました。そうしないと、リンクしている html ファイルが無視されます...

アドバイスがあれば、ぜひお願いします。ちなみに、これは Mac 上での作業です。

答え1

はっ!やっと解決しました。include には、すべてのディレクトリのフルパスを含める必要がありますが、URL は含めないでください。

wget -r -A xls,xlsx,"" -l 2 -I /government/uploads/system/uploads/attachment_data/file/,/government/publications/,/government/collections/departmental-spend-over-500 https://www.gov.uk/government/collections/departmental-spend-over-500

明らかではない - 少なくとも私にとってはそうではない...

(コード ボックスを右にスクロールするとすべて表示されます)

編集: 実際はもっと良いです - ここで分割しました:

wget -r -A xls,xlsx,"" -l 2 
-I /government/uploads/system/uploads/attachment_data/file/,
   /government/publications/,
   /government/collections/departmental-spend-over-500
https://www.gov.uk/government/collections/departmental-spend-over-500

ライン1:再帰的に、xls と xlsx および拡張子のないファイル (この場合は html ファイルなど) を含め、5 行目で指定された場所から 2 レベル実行します。

2行目~4行目:最上位の URL からこれらのパス/ディレクトリを含めます (つまり、他のすべてを除外します)

5行目:どこから始めるか

関連情報