使用 Wget 从网站下载具有特定名称的文件

使用 Wget 从网站下载具有特定名称的文件

查看(半)顶级域名及其所有子文件夹中某些数字字母组合的出现情况的最佳方法是什么。

我有几个文件夹包含大量图像列表,只需要获取出现特定数字的图像。例如:282 或 191

如果您能告诉我如何过滤掉最小尺寸,这样我就不会同时下载缩略图和高分辨率照片,那么我将获得加分。

答案1

这将抓取一个网站以查找 gif、png、jpg、jpeg,然后在这些结果中 grep 任何字符串。然后 wget 将结果列表检索到指定的目录。您需要调整“/path/to/save/files”,以及从中抓取文件的 url。

调整最后的 grep 语句来定义您的搜索参数。它将是:

grep "191\|282" --instead of-- grep "taco.gif\|whatever"

注意:如果添加或删除任何文件类型,请相应地修改 -A 标志参数和最后的 grep。

wget -P /path/to/save/files/ $(wget --spider --execute robots=off \
--user-agent="Mozilla/5.0 Firefox4.0.1" --no-clobber --random-wait --force-html \
--recursive --no-directories -A gif,png,jpg,jpeg http://taco.com 2>&1 | grep -e \
'http\|Length\|broken link' | awk -F' ' '{ print $3 }' | sed '$!N;s/\n/ /' | grep \
'.gif\|.png\|.jpg\|.jpeg' | tr -d '()' | sed '/does$/d' | sort -k2 | \
grep "taco.gif\|whatever")

注意:这在很多网站上都不起作用,因为大多数管理员会阻止 wget 并使用脚本来阻止爬虫,但它在 taco.com 上运行良好。

我还没有尝试过,但是这个批量下载插件可能会更好用。 https://chrome.google.com/webstore/detail/fatkun-batch-download-ima/nnjjahlikiabnchcpehcpkdeckfgnohf?hl=en

相关内容