我正在尝试使用wget检索工作网页,这对于大多数网站使用以下命令都很顺利:
wget -p -k http://www.example.com
Run Code Online (Sandbox Code Playgroud)
在这些情况下,我将最终得到index.html和所需的CSS/JS等.
但是,在某些情况下,url将有一个查询字符串,在这种情况下,我会获得一个附加了查询字符串的index.html.
例
www.onlinetechvision.com/?p=566
Run Code Online (Sandbox Code Playgroud)
结合上面的wget命令将导致:
index.html?page=566
Run Code Online (Sandbox Code Playgroud)
我尝试过使用--restrict-file-names = windows选项,但这只能让我这么做
index.html@page=566
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释为什么需要这个以及如何最终得到一个常规的index.html文件?
更新:我采取不同的方法.我发现我可以通过解析输出来获取wget保存的第一个文件名.因此,保存到:之后出现的名称是我需要的名称.
然而,这是由这个奇怪的角色包裹 - 而不仅仅是删除硬编码 - 这是从哪里来的?
小智 5
如果您尝试使用参数"--adjust-extension"
wget -p -k --adjust-extension www.onlinetechvision.com/?p=566
Run Code Online (Sandbox Code Playgroud)
你靠近了 在www.onlinetechvision.com文件夹中,将有一个带有更正扩展名的文件:index.html@p=566.html或者index.html?p=566.html在*NiX系统上.现在很简单,即使使用脚本,也可以将该文件更改为index.html.
如果您使用的是Microsoft操作系统,请确保您拥有更高版本的wget - 它也可以在这里找到:https://eternallybored.org/misc/wget/
hai*_*eng -2
使用 -O 或 --output-document 选项。请参阅http://www.electrictoolbox.com/wget-save- different-filename/