使用起始url中的wget站点从网站下载特定类型的所有文件



以下操作不起作用。

wget-r-A.pdf home_page_url

它停止时显示以下消息:

....
Removing site.com/index.html.tmp since it should be rejected.
FINISHED

我不知道为什么它只停在起始url,而不进入其中的链接来搜索给定的文件类型。

还有其他方法可以递归下载网站中的所有pdf文件吗?

它可能基于robots.txt。请尝试添加-e robots=off

其他可能的问题是基于cookie的身份验证或wget的代理拒绝。请参阅以下示例。

编辑:根据上的sunsite.univie.ac.

,".pdf"中的点是错误的

下面的cmd适用于我,它将下载网站的图片

wget -A pdf,jpg,png -m -p -E -k -K -np http://site/path/

这当然是因为HTML中的链接没有以/结尾。

Wget不会遵循它认为这是一个文件(但与您的过滤器不匹配):

<a href="link">page</a>

但将遵循以下内容:

<a href="link/">page</a>

您可以使用--debug选项来查看这是否是实际问题。

我不知道有什么好的解决办法。在我看来,这是一个错误。

在我的wget版本(GNU wget 1.21.3)中,-A/--accept-r/--recursive标志不能很好地相互作用。

以下是我为PDF(或任何其他文件类型)抓取域的脚本:


wget --no-verbose --mirror --spider https://example.com -o - | while read line
do
  [[ $line == *'200 OK' ]] || continue
  [[ $line == *'.pdf'* ]] || continue
  echo $line | cut -c25- | rev | cut -c7- | rev | xargs wget --no-verbose -P scraped-files
done

说明:递归爬网https://example.com并将日志输出(包含所有抓取的URL)管道传输到CCD_ 7块。当日志输出中的一行包含PDF URL时,去掉前导时间戳(25个字符)和尾部请求信息(7个字符),然后使用wget下载PDF。

最新更新