{"id":310,"date":"2008-09-18T08:11:44","date_gmt":"2008-09-18T06:11:44","guid":{"rendered":"http:\/\/www.lucas-nussbaum.net\/blog\/?p=310"},"modified":"2008-09-18T08:11:44","modified_gmt":"2008-09-18T06:11:44","slug":"tool-to-mirror-a-website-locally","status":"publish","type":"post","link":"https:\/\/www.lucas-nussbaum.net\/blog\/?p=310","title":{"rendered":"tool to mirror a website locally?"},"content":{"rendered":"<p>Dear lazyweb,<\/p>\n<p>I need a tool to mirror a website locally (so I can browse it offline). Requirements:<br \/>\n&#8211; not GUI-based (I want to run it in a script)<br \/>\n&#8211; support recursive retrieval and include\/exclude lists (like wget)<br \/>\n&#8211; no output when everything is fine, but still output errors (not possible with wget, which still output &#8220;basic information&#8221; when running with &#8211;no-verbose, and doesn&#8217;t output errors when running with &#8211;quiet)<br \/>\n&#8211; understands timestamps, and retransfers files if timestamps or sizes don&#8217;t match<br \/>\n&#8211; not too over-engineered, not too badly maintained, etc&#8230;<\/p>\n<p>Thank you.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dear lazyweb, I need a tool to mirror a website locally (so I can browse it offline). Requirements: &#8211; not GUI-based (I want to run it in a script) &#8211; support recursive retrieval and include\/exclude lists (like wget) &#8211; no output when everything is fine, but still output errors (not possible with wget, which still [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"0","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,12],"tags":[],"class_list":["post-310","post","type-post","status-publish","format-standard","hentry","category-planetdebian","category-planetubuntu"],"_links":{"self":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=310"}],"version-history":[{"count":0,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/310\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=310"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}