2013-08-30 70 views
0

我无法让Wget正确地跟踪链接。它获取所有必要的文件来呈现页面,甚至包含外部链接,只要它们在同一个父目录中即可。不幸的是,如果它们位于相同的域但不同的目录中,则不会检索嵌入在页面中的外部链接。我只需要在链接上进入一个级别,但是由于我想要的链接没有用于目录的index.html(即直接链接),事情变得更加复杂。递归wget抓取两个目录

这是我到目前为止有:

wget -r -m -k -K -p -np -nH --cut-dirs=4 -R --adjust-extension -P games/$(date +\%Y-\%m-\%d) http://www.website.org/export/sites/admin/games/types/ http://www.website.org/export/sites/admin/games/types/

这基本上抓取的目录和检索的所有文件(主要是HTML文件)。它工作完美并获取我需要的一切,除了直接链接到检索内容的文件。

说它检索85393283_poker.html - 并在该文件是一个链接:http://www.website.org/export/sites/admin/documents/tables/secondarytables.pdf(注意,这是不同的目录)

嗯,这将不检索文件。对于从第一个查询中检索的每个HTML文件,它都包含第二个查询的链接。底线是它不会检索第二个链接。

我一直在寻找所有,但似乎无法弄清楚。已尝试单独wget查询,但又因为/tables没有html或索引,它不会抓取。

感谢任何帮助!谢谢

回答

0

原因是--no-parent选项,它阻止任何遍历/您的当前目录旁边。由于第二个文件位于不同的目录中(而不是第一个文件的子目录),因此它不会抓取它。

你需要做的是结合-I和-X或--accept-regex/reject-regex来制作更具体的抓取。

+0

我最终弄明白了!虽然尝试了很多尝试和错误 –