wget仅从网站下载PDF

wget downloading only PDFs from website

我正在尝试从 http://www.fayette-pva.com/ 下载所有 PDF。

我认为问题在于,当将鼠标悬停在 link 上以下载 PDF chrome 时,左下角显示 URL 而没有 .pdf 文件扩大。我看到并使用了另一个与此类似的论坛答案,但是当我的光标悬停在 PDF link 上时,.pdf 扩展名用于 URL。我尝试了下面 link 中的相同代码,但它没有获取 PDF 文件。

这是我一直在测试的代码:

wget --no-directories -e robots=off -A.pdf -r -l1 \
    http://www.fayette-pva.com/sales-reports/salesreport03-feb-09feb2015/

我在一个页面上使用它,我知道它上面有一个 PDF。

完整的代码应该是这样的

wget --no-directories -e robots=off -A.pdf -r http://www.fayette-pva.com/

相关回答:WGET problem downloading pdfs from website

我不确定下载整个网站是否可行,是否不会花很长时间。我如何解决这个问题并只下载 PDF?

是的,问题正是您所说的:URL 不包含常规或绝对文件名,而是调用 script/servlet/... 分发实际文件。

解决方案是使用 --content-disposition 选项,它告诉 wget 遵守 HTTP 响应中的 Content-Disposition 字段,该字段携带实际文件名:

HTTP/1.1 200 OK
(...)
Content-Disposition: attachment; filename="SalesIndexThru09Feb2015.pdf"
(...)
Connection: close

此选项在 wget 中至少从版本 1.11.4 开始支持,该版本已经 7 年了。

因此您将执行以下操作:

wget --no-directories --content-disposition -e robots=off -A.pdf -r \
    http://www.fayette-pva.com/