【问题标题】:Merge these wget & egrep commands for recursive download of sitemap合并这些 wget 和 egrep 命令以递归下载站点地图
【发布时间】:2017-06-19 00:13:37
【问题描述】:

我正在尝试找到一种方法来使它们协同工作。而我可以使用 Wget for Windows 成功运行它:

wget --html-extension -r http://www.sitename.com

这会下载我的服务器上的每个文件,这些文件是从根域链接的目录。我宁愿只下载我的站点地图中的页面。为此,我发现了以下使用 CygWin 的技巧:

wget --quiet https://www.sitename.com/sitemap.xml --output-document - | egrep -o
"http://www\.sitename\.com[^<]+" | wget --spider -i - --wait 1

但这只是检查页面是否存在,而不是像之前的 wget 命令那样将它们下载为静态 HTML 文件。

有没有办法合并这些并将站点地图页面下载为本地 html 文件?

【问题讨论】:

    标签: grep cygwin wget


    【解决方案1】:

    如果您查看wget 的手册页,您将看到--spider 条目如下:

    --spider
           When invoked with this option, Wget will behave as a Web spider, which means that it will not download the pages, just check that they are there.
    

    实际下载文件所需要做的就是从命令中删除--spider

    wget --quiet https://www.sitename.com/sitemap.xml --output-document - | egrep -o \
    "https?://www\.sitename\.com[^<]+" | wget -i - --wait 1
    

    【讨论】:

    • 我几乎尝试了所有方法,但谢谢!今天将测试这种方法。您添加“?”是有原因的吗?在 egrep https 模式中?
    • @Whitesky 在测试命令时,我遇到了一些网站无法保持一致的http://https:// 方案的问题,所以我添加了一个s?,这意味着@ 987654329@ 是可选的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 2019-05-30
    • 2010-11-10
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多