我想要使用Unix wget
下载site。
如果查看文件的源代码和内容,则包含名为SUMMARY的部分。
但是在发出这样的wget命令之后:
wget -O downdloadedtext.txt http://www.ncbi.nlm.nih.gov/IEB/Research/Acembly/av.cgi?db=mouse&c=gene&a=fiche&l=2610008E11Rik
downdloadedtext.txt
的内容不完整,与源代码不同
那个网站。例如,它不包含SUMMARY部分。有正确的方法可以正确获取完整内容吗?
我问这个的原因是因为我想从HTML中的不同值自动下载。
答案 0 :(得分:11)
您需要将链接放在引号内:
wget -O downdloadedtext.txt 'http://www.ncbi.nlm.nih.gov/IEB/Research/Acembly/av.cgi?db=mouse&c=gene&a=fiche&l=2610008E11Rik'
这是因为&具有特殊含义,将命令分成多个命令。
答案 1 :(得分:3)
&
字符在shell中具有特殊含义。引用URI,以便您实际请求要请求的URI。
答案 2 :(得分:2)
您可以使用-p
(--page-prerequisites
)标记告诉wget
检索链接的资源。来自man wget
:
此选项使Wget下载正确显示给定HTML页面所需的所有文件。这包括内联图像,声音和引用样式表等内容。
您还可以查看--follow-tags
选项,该选项可以限制该过程:
Wget有一个HTML标记/属性对的内部表,它在递归检索期间查找链接文档时会考虑。但是,如果用户只想要考虑这些标记的子集,则应使用此选项在逗号分隔列表中指定此类标记。