OT: wget does not use downloaded stylesheet

Dag Wieers dag at wieers.com
Mon Nov 10 21:01:59 UTC 2008


On Mon, 10 Nov 2008, Yong Huang wrote:

> Thanks, Chaim. But that doesn't work either. I created a minimalist test case:
>
> http://yong321.freeshell.org/temp/test.html
>
> I ran wget -mr http://yong321.freeshell.org/temp/test.html and check the downloaded test.html file. It still has
>
> <link rel="stylesheet" type="text/css" href="http://yong321.freeshell.org/temp/stylesheettest.css">
>
> I don't think wget could be smart enough to modify the URL inside the html file.

You thought wrong. The wget man-page explains it:

        -k
        --convert-links
            After the download is complete, convert the links in the document to
            make them suitable for local viewing.  This affects not only the visi-
            ble hyperlinks, but any part of the document that links to external
            content, such as embedded images, links to style sheets, hyperlinks to
            non-HTML content, etc.

            Each link will be changed in one of the two ways:

            *   The links to files that have been downloaded by Wget will be
                changed to refer to the file they point to as a relative link.

                Example: if the downloaded file /foo/doc.html links to
                /bar/img.gif, also downloaded, then the link in doc.html will be
                modified to point to ../bar/img.gif.  This kind of transformation
                works reliably for arbitrary combinations of directories.

            *   The links to files that have not been downloaded by Wget will be
                changed to include host name and absolute path of the location
                they point to.

                Example: if the downloaded file /foo/doc.html links to
                /bar/img.gif (or to ../bar/img.gif), then the link in doc.html
                will be modified to point to http://hostname/bar/img.gif.

            Because of this, local browsing works reliably: if a linked file was
            downloaded, the link will refer to its local name; if it was not down-
            loaded, the link will refer to its full Internet address rather than
            presenting a broken link.  The fact that the former links are con-
            verted to relative links ensures that you can move the downloaded
            hierarchy to another directory.

            Note that only at the end of the download can Wget know which links
            have been downloaded.  Because of that, the work done by -k will be
            performed at the end of all the downloads.

There are some other options that might interest you.

Kind regards,
-- 
--   dag wieers,  dag at wieers.com,  http://dag.wieers.com/   --
[Any errors in spelling, tact or fact are transmission errors]




More information about the redhat-list mailing list