排除 wget 中的特定文件列表

排除 wget 中的特定文件列表

我正在尝试通过拨号方式从某个网站下载大量页面,但速度非常慢。我几乎已经掌握了完美的命令wget,但由于我从同一个网站下载页面,因此wget下载每个页面的相同标准图像会浪费大量时间。

如果我知道默认页面图像的名称,有什么方法可以wget忽略并从而避免为每个页面下载这些图像?

下面是我的 shell 脚本生成另一个 shell 脚本以下载所有页面的 wget 命令之一的示例:

mkdir candy-canes-on-the-flannel-board-in-preschool
cd candy-canes-on-the-flannel-board-in-preschool
wget -p -nd -A jpg,html -k http://www.teachpreschool.org/2011/12/candy-canes-on-the-flannel-board-in-preschool/
wget -c --random-wait --timeout=30 --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" http://www.teachpreschool.org/2011/12/candy-canes-on-the-flannel-board-in-preschool/ -O "candy-canes-on-the-flannel-board-in-preschool"
rm Baby-and-Toddler.jpg Childrens-Books.jpg Creative-Art.jpg Felt-Fun.jpg Happy_Rainbow-e1338766526528.jpg index.html Language-and-Literacy.jpg Light-table-Button.jpg Math.jpg Outdoor-Play.jpg outer-jacket1-300x153.jpg preschoolspot-button-small.jpg robots.txt Science-and-Nature.jpg Signature-2.jpg Story-Telling.jpg Tags-on-Preschool.jpg Teaching-Two-and-Three-Year-olds.jpg
cd ../

现在我意识到该脚本可能并不像它应该的那样精明,但是它正在做我目前需要做的事情,只是你可以从命令中看到,如果可能的话rm,我只是想wget首先阻止下载文件。

我差点忘了说,有两个wget命令,这是因为第一个命令会下载页面,但index.html由于某种原因,它无法在我的浏览器中打开,但是,当我打开它并查看时,vim页面的所有内容都在那里,所以我不确定为什么它没有打开。但如果我只是wget按原样发出第二个命令,那么那个页面(实际上是同一个文件,只是名称不同)就可以正常打开。如果我能修复这个问题,也将有助于简化流程。

答案1

Wget 有一个--reject rejlist您可以使用的选项。拒绝列表是文件名模式的列表。

它还有一个-nc选项以避免下载和覆盖现有文件。

答案2

我也遇到过这个问题,后来是这样解决的:“--reject-regex logout”,更多:wget-devTips

相关内容