Web scraping wget,递归下载所有JPEG作品,仅在网站主页上下载
我正在使用从网站下载所有JPEG 我搜索了很多,应该是这样的:Web scraping wget,递归下载所有JPEG作品,仅在网站主页上下载,web-scraping,jpeg,wget,Web Scraping,Jpeg,Wget,我正在使用从网站下载所有JPEG 我搜索了很多,应该是这样的: wget -r -nd -A jpg "http://www.hotelninfea.com" 这应该递归地-r下载文件jpeg-A jpg,并将所有文件存储在一个目录中,而无需重新创建网站目录树-nd 运行此命令仅从网站主页下载JPEG,而不是从所有网站下载整个JPEG 我知道jpeg文件可能有不同的扩展名(jpg、jpeg)等等,但事实并非如此,也没有任何robots.txt限制 如果我从上一个命令中删除过滤器,它将按预期工
wget -r -nd -A jpg "http://www.hotelninfea.com"
这应该递归地-r
下载文件jpeg-A jpg
,并将所有文件存储在一个目录中,而无需重新创建网站目录树-nd
运行此命令仅从网站主页下载JPEG,而不是从所有网站下载整个JPEG
我知道jpeg文件可能有不同的扩展名(jpg、jpeg)等等,但事实并非如此,也没有任何robots.txt限制
如果我从上一个命令中删除过滤器,它将按预期工作
wget -r -nd "http://www.hotelninfea.com"
这发生在Lubuntu 16.04 64位,wget 1.17.1上
这是一个bug还是我误解了什么?我怀疑这是因为您提到的主页包含了表单
中其他页面的链接http://.../something.php
,即存在显式扩展。然后,选项-A jpeg
具有从遍历过程中删除这些页面的“副作用”
在这种特殊情况下,也许有点肮脏的解决方法是这样的:
wget -r -nd -A jpg,jpeg,php "http://www.hotelninfea.com" && rm -f *.php
i、 例如,只下载必要的额外页面,然后在
wget
成功终止时删除它们。ewcz anwer为我指明了正确的方向,--accept acclist
参数具有双重作用,它定义了文件保存规则和以下链接的规则
通过深入阅读,我发现了这一点
如果指定了“-adjust extension”,则本地文件名可能会附加“.html”。如果使用'-E-A.php'调用Wget,则会接受诸如'index.php'之类的文件名,但下载时将命名为'index.php.html',不再匹配,因此文件将被删除
所以你可以这样做
wget -r -nd -E -A jpg,php,asp "http://www.hotelninfea.com"
当然,网站管理员也可以使用
所以我认为最健壮的解决方案应该是bash脚本之类的东西
像
网站=”http://www.hotelninfea.com"
DEST_DIR=“”
image|urls=`wget-nd--spider-r“$WEBSITE”2>&1 | grep'^--''awk'{print$3}'| grep-i'\.\(jpeg\| jpg\)'`
对于$image\u url中的image\u url;做
DESTFILE=“$DEST_DIR/$RANDOM.jpg”
wget“$image\u url”-O“$DESTFILE”
完成
--spider
wget不会下载页面,只需检查页面是否存在$RANDOM
向操作系统请求一个随机数