6

我有一个 要使用 Unix 下载的站点wget。如果您查看文件的源代码和内容,它包含名为“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不完整,与该站点的源代码不同。例如,它不包含摘要部分。是否有正确获取完整内容的正确方法?

我之所以问这个是因为我想从该 HTML 中的不同值自动下载。

4

3 回答 3

11

您需要将链接放在引号内:

 wget -O downdloadedtext.txt  'http://www.ncbi.nlm.nih.gov/IEB/Research/Acembly/av.cgi?db=mouse&c=gene&a=fiche&l=2610008E11Rik'

这是因为 & 具有特殊含义,会将命令拆分为多个命令。

于 2010-04-14T09:46:39.123 回答
3

&字符在 shell 中具有特殊含义。引用 URI,以便您实际请求要请求的 URI。

于 2010-04-14T09:42:01.610 回答
2

您可以使用-p( --page-prerequisites) 标志来指示wget检索链接的资源。来自man wget

此选项使 Wget 下载正确显示给定 HTML 页面所需的所有文件。这包括内联图像、声音和引用样式表等内容。

您还可以查看该--follow-tags选项,该选项可让您限制该过程:

Wget 有一个 HTML 标记/属性对的内部表,在递归检索期间查找链接文档时会考虑该表。但是,如果用户只想考虑这些标签的子集,则应使用此选项在逗号分隔的列表中指定这些标签。

于 2010-04-14T09:43:52.680 回答