Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How can I make complete website/Url and child pages associated with Url available offline?

E.g. I want the android sdk at javadoc to be available offline so that I can go through it any time even without Internet

share|improve this question

migrated from Nov 5 '13 at 18:36

This question came from our site for power users of web applications.

Javadocs are nothing but simple HTML pages generated.
So you don't need anything fancy, even a local browser is enough if you want to view it yourself.

If you want to host it, any webserver that is capable of serving static pages will do.

Where can you download it?
The SDK manager will have it under Documentation.

Alternatively you can grab them from URLs:
Such as:

Replace the numbers. (same naming convention, so try first, then, so on.)
I'm sure there is a list somewhere, I just could not find it.

share|improve this answer
Seems logic that Google would, in their own SDK, include an offline copy of it's documentation. – Doktoro Reichard Nov 5 '13 at 19:04
I would not even call JavaDoc a real documentation. It's a great help while you code and sure it's detailed/documented, but good luck finding what you need through it. (See p4's great libs.) – Shiki Nov 5 '13 at 19:13

The simplest way to get a url working offline is to setup a web server locally and host the files / resources there itself.

Thus your computer will act as the web server to serve those contents.

share|improve this answer
This will only work if the web site is set up with relative links. If there are any absolute links then the links will break. – ChrisF Nov 5 '13 at 9:13
@ankur Do I really need server to view webpages offline on my local desktop? – Guest Nov 5 '13 at 12:01
@Guest You will not require in case the content is plain html. Your browser will display the html contents. Please throw some more light on your question so that I may understand it more clearly and come up with a proper answer. – Ankur Kumar Nov 6 '13 at 11:11

Why not use Wget? Quoting from the page:

GNU Wget is a free software package for retrieving files using HTTP, HTTPS and FTP, the most widely-used Internet protocols. It is a non-interactive commandline tool, so it may easily be called from scripts, cron jobs, terminals without X-Windows support, etc.

GNU Wget has many features to make retrieving large files or mirroring entire web or FTP sites easy, including:

  • Can resume aborted downloads, using REST and RANGE
  • Can use filename wild cards and recursively mirror directories
  • NLS-based message files for many different languages
  • Optionally converts absolute links in downloaded documents to relative, so that downloaded documents may link to each other locally
  • Runs on most UNIX-like operating systems as well as Microsoft Windows
  • Supports HTTP proxies
  • Supports HTTP cookies
  • Supports persistent HTTP connections
  • Unattended / background operation
  • Uses local file timestamps to determine whether documents need to be re-downloaded when mirroring
  • GNU Wget is distributed under the GNU General Public License.

I've personally used it to store several sites to view oflline. It has a slight steep learning curve (due to arguments and such) but it has the ability of doing everything you want.

There is also a port of Wget for Windows, if you don't have an UNIX machine.

The possible arguments I would use for your task would be something in the likes of:

wget -r -p -k -np -w 1

Explaining the commands:

  • -r - Sets recursive retrieval (i.e. it will get any link that exists in that page, and so forth)
  • -p - Downloads everything needed for the page to be properly viewed
  • -k - Converts the links in the documents to make them suitable for local viewing
  • -np - Do not ever ascend to the parent directory when retrieving recursively (i.e. don't go back)
  • -w 1 - Waits 1 second between every retrieval. This is useful for not overloading the server with requests, which can cause 404 errors and other stuff.

The argument usage is taken form the manual. I haven't run this so I can't say for sure it will crawl appropriately, but with some adjustments it would do the trick.

share|improve this answer

You must log in to answer this question.