我已经在一些论坛帖子上尝试了这个。 但是我继续因此而失败。
要复制问题:
这是一个引用6页论坛帖子的网址。
http://forex.kbpauk.ru/showflat.php/Cat/0/Number/107623/page/0/fpart/1/vc/1
我输入控制台的是:
wget "http://forex.kbpauk.ru/showflat.php/Cat/0/Number/107623/page/0/fpart/{1..6}/vc/1"
这就是我得到的:
--2018-06-14 10:44:17-- http://forex.kbpauk.ru/showflat.php/Cat/0/Number/107623/page/0/fpart/%7B1..6%7D/vc/1
Resolving forex.kbpauk.ru (forex.kbpauk.ru)... 185.68.152.1
Connecting to forex.kbpauk.ru (forex.kbpauk.ru)|185.68.152.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: '1'
1 [ <=> ] 19.50K 58.7KB/s in 0.3s
2018-06-14 10:44:17 (58.7 KB/s) - '1' saved [19970]
该文件仅保存为&#34; 1&#34;似乎没有任何扩展。
我的期望是该文件将以.html扩展名保存,因为它是一个网页。
我试图让WGET工作,但如果它可以用CURL做我想做的事情,那么我也会接受这个答案。
答案 0 :(得分:1)
只需使用-O
开关指定输出文件名,否则wget只会默认为您的1
因此,如果您想调用文件what-i-want-to-call-it.html
,那么您可以
wget "http://forex.kbpauk.ru/showflat.php/Cat/0/Number/107623/page/0/fpart/{1..6}/vc/1" -o what-i-want-to-call-it.html
如果您输入控制台wget --help
,您将获得wget提供的所有选项的完整列表
要验证它是否有效,请键入以下内容以输出
cat what-i-want-to-call-it.html
答案 1 :(得分:1)
嗯,您尝试做的事情有几个问题。
您网址周围的双引号实际上阻止了Bash扩展,因此您并未真正下载6个文件,而是使用&#34; {1..6}&#34;在里面。您可能希望不在URL周围加引号以允许bash将其扩展为6个不同的参数。
我注意到所有页面都被称为&#34; 1&#34;,无论它们的实际页码如何。这意味着服务器始终提供具有相同名称的页面,这使得Wget或任何其他工具很难实际制作网页副本。
创建论坛镜像的真正方法是使用此命令行:
$ wget -m --no-parent -k --adjust-extension http://forex.kbpauk.ru/showflat.php/Cat/0/Number/107623/page/0/fpart/1
让我解释一下这个命令的作用:
-m
--mirror
激活镜像模式(递归)
--no-parent
要求Wget不要超过它从中开始的目录
-k
--convert-links
将编辑您下载的HTML页面,以便其中的链接指向您已下载的其他本地页面。这使您可以在本地浏览论坛页面而无需在线
--adjust-extension
这是您最初寻找的选项。如果文件下载.html
文件但服务器未提供扩展名,则会导致Wget使用text/html
扩展名保存文件。