0

我无法让 Wget 正确跟踪链接。它获取呈现页面所需的所有文件,甚至包括外部链接,只要它们位于同一父目录中。不幸的是,如果它们位于同一域但不同的目录中,则它不会检索嵌入在页面中的外部链接。我只需要在链接上上一层,但由于我想要的链接没有目录的 index.html(即直接链接),这使情况更加复杂。

这是我到目前为止所拥有的:

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 或索引,它不会爬网。

感谢任何帮助!谢谢

4

1 回答 1

1

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

您需要做的是结合 -I 和 -X 或 --accept-regex/--reject-regex 来制作更具体的爬网。

于 2013-09-05T15:00:15.647 回答