How do you archive an entire website for offline viewing?

HtmlWeb CrawlerArchive

Html Problem Overview


We actually have burned static/archived copies of our asp.net websites for customers many times. We have used WebZip until now but we have had endless problems with crashes, downloaded pages not being re-linked correctly, etc.

We basically need an application that crawls and downloads static copies of everything on our asp.net website (pages, images, documents, css, etc) and then processes the downloaded pages so that they can be browsed locally without an internet connection (get rid of absolute urls in links, etc). The more idiot proof the better. This seems like a pretty common and (relatively) simple process but I have tried a few other applications and have been really unimpressed

Does anyone have archive software they would recommend? Does anyone have a really simple process they would share?

Html Solutions


Solution 1 - Html

You could use wget:

wget -m -k -K -E http://url/of/web/site

Solution 2 - Html

In Windows, you can look at HTTrack. It's very configurable allowing you to set the speed of the downloads. But you can just point it at a website and run it too with no configuration at all.

In my experience it's been a really good tool and works well. Some of the things I like about HTTrack are:

  • Open Source license
  • Resumes stopped downloads
  • Can update an existing archive
  • You can configure it to be non-aggressive when it downloads so it doesn't waste your bandwidth and the bandwidth of the site.

Solution 3 - Html

The Wayback Machine Downloader by hartator is simple and fast.

Install via Ruby, then run with the desired domain and optional timestamp from the Internet Archive.

sudo gem install wayback_machine_downloader
mkdir example
cd example
wayback_machine_downloader http://example.com --timestamp 19700101000000

Solution 4 - Html

I use Blue Crab on OSX and WebCopier on Windows.

Solution 5 - Html

wget -r -k

... and investigate the rest of the options. I hope you've followed these guidelines:http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html so all your resources are safe with GET requests.

Solution 6 - Html

I just use: wget -m <url>.

Solution 7 - Html

For OS X users, I've found the sitesucker application found here works well without configuring anything but how deep it follows links.

Solution 8 - Html

If your customers are archiving for compliance issues, you want to ensure that the content can be authenticated. The options listed are fine for simple viewing, but they aren't legally admissible. In that case, you're looking for timestamps and digital signatures. Much more complicated if you're doing it yourself. I'd suggest a service such as PageFreezer.

Solution 9 - Html

I've been using HTTrack for several years now. It handles all of the inter-page linking, etc. just fine. My only complaint is that I haven't found a good way to keep it limited to a sub-site very well. For instance, if there is a site www.foo.com/steve that I want to archive, it will likely follow links to www.foo.com/rowe and archive that too. Otherwise it's great. Highly configurable and reliable.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionjskunkleView Question on Stackoverflow
Solution 1 - HtmlchuckgView Answer on Stackoverflow
Solution 2 - HtmlJesse DearingView Answer on Stackoverflow
Solution 3 - Html2540625View Answer on Stackoverflow
Solution 4 - HtmlSyntaxView Answer on Stackoverflow
Solution 5 - HtmlJoel HoffmanView Answer on Stackoverflow
Solution 6 - HtmlAram VerstegenView Answer on Stackoverflow
Solution 7 - Htmluser1011743View Answer on Stackoverflow
Solution 8 - HtmlDieghitoView Answer on Stackoverflow
Solution 9 - HtmlSteve RoweView Answer on Stackoverflow