23

A website URL has "hidden" some MP3 files by embedding them as Shockwave files, as follows.

<span class="caption"><!-- Odeo player --><embed src="http://odeo.com/flash/audio_player_tiny_gray.swf"quality="high" name="audio_player_tiny_gray" align="middle" allowScriptAccess="always" wmode="transparent" type="application/x-shockwave-flash" flashvars="valid_sample_rate=true external_url=http://podcast.cbc.ca/mp3/sundayeditionstream_20081125_9524.mp3" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></span>

How can I download the files for off-line listening?

I've found two methods:

1. The Stack Overflow Method

Create a new local HTML file with just the links, for example:

<a href="http://podcast.cbc.ca/mp3/sundayeditionstream_20081125_9524.mp3">Sunday Edition 25Nov2008</a>

Open the file in the browser, right click the link and File > Save Link As.

2. The Super User Method

Install the Firefox addin Iget. (Be sure to use the right version for your Firefox version.)

Tools > Downloads > Enter URL in the field.

Are there any other ways?

  • 3
    You can skip creating a local file and just put "podcast.cbc.ca/mp3/sundayeditionstream_20081125_9524.mp3" in your address bar. – hyperslug Jul 22 '09 at 22:10
  • 2
    That would only work providing you didn't have any multimedia plugins active (VLC, WMP etc). – Ehtyar Jul 22 '09 at 23:21
  • On safari, hold down option while clicking link. – mk12 Oct 17 '09 at 23:13
  • Shouldnt the title question read "Download a File as or given a URL ?" – Simon Dec 11 '12 at 16:50
  • if i'm making sense to above title query ? – Simon Dec 11 '12 at 17:35

17 Answers 17

12

On Linux, use 'wget' on the command line:

wget http://podcast.cbc.ca/mp3/sundayeditionstream_20081125_9524.mp3

If you want a similar tool on Windows, you could install wget via Cygwin or use one of the GNU Win32 ports.

On Mac OS X, there's cURL, which appears to have a Windows build.

  • 4
    Mac's don't have wget installed by default. It does have curl. – Telemachus Jul 23 '09 at 0:29
  • I selected this as the most correct answer because it addresses multiple operating systems. – Michelle Aug 6 '09 at 19:34
  • What the hell??! I would not google this on Linux/Mac.. – Nils Feb 28 '12 at 14:58
  • I'm repeating this here from a comment by Peter Morgensen down below: There is also a stand-alone wget for Windows (Cygwin is not needed) - so wget can be used from BAT files. A direct download URL is: users.ugent.be/~bpuype/wget/wget.exe – Vincent Vancalbergh Jul 7 '12 at 19:43
  • 2
    @VincentVancalbergh Perfect, I'll just wget that lin... well crap. – Rob Jul 31 '12 at 19:58
14

3. The command-line method

Download/install/build wget or similar and download from the commandline:

wget http://some/url
9

I use DownThemAll for this. You can just copy the link, open the manager window and select 'Add URL', assuming it doesn't pick the links up when run normally.

7

if you have the URLs ready and a vanilla Firefox, you can simply download URLs by pasting them in the download manager. I just tested this with FF v26 and it still works like that. btw jtbandes says, this works in Chrome too.

http://lifehacker.com/5915644/download-any-file-or-web-page-by-pasting-its-url-into-firefoxs-download-window

6

Here is a way to create a download page on the fly without leaving your browser.

  1. Navigate to the web page (which I'm guessing is http://www.cbc.ca/thesundayedition/ ?).
  2. Type this JavaScript into your address bar:

javascript:document.documentElement.innerHTML.match(/external_url=([^\"]*\.mp3)\"/);document.write('<'+'a href="'+RegExp.$1+'">download<'+'/a>')

4

How about this website: www.downloadurlfile.com?? It creates a download-able link to the URL.

  • I just tried it and if failed. Apparently it has problems parsing non-ASCII or other chars. Probably the space character. Stupid browsers turn encoded chars to their actual char value when copying the URL, so my URL had spaces in it. – David Balažic Mar 13 at 12:55
3

When using Firefox then you don't need any add-ons. Just go to menu Tools » Page Info (or press Control/Command-I) and select the Media tab. Here you'll see all media (images, video, audio, ...) embedded in the page, including a "Save As..." button.

  • 1
    I think the question's intent was different - what if you're just started out with a URL? – Derek Morrison Jan 31 '12 at 15:14
  • @Derek, the Media tab shows all URLs that are embedded in the page one is viewing. One only needs the page URL, not the URLs of all that is embedded, to see that list. – Arjan Jan 31 '12 at 15:24
2

Firefox 10.0.2 still can't directly download a URL.

The original asker first method (create HTML file containing <a href="...">link</a>, open in Firefox, right click the link, save as) can be optimized with a bit of javascript like this:

<script type="text/javascript">
var copylink = function(){document.getElementById("thelink").href = document.getElementById("theurl").value}
</script>
<input id="theurl" type="text"/>
<button type="button" onclick="copylink()">Update Link</button>
<a id="thelink" href="">Download Link</a>

This little HTML file can be put to favorite. So the new flow will be:

  • Open this HTML from favorite
  • Copy paste URL to the textbox
  • Click 'Update Link'
  • Right click 'Download Link', Save As

(Or just copy it into a jsFiddle and use it there, for example like this)

1

There's also a plethora of clipboard-monitoring download apps that will start downloading a file when it is copied to the clipboard if you like that sort of thing. I've used FreeDownloadManager in the past.

0

I always use the wget application on linux or axel if I know that I won't overload the server with 4 connections and I want it faster. Both are available on windows with Cygwin. If it's on a site which I will scrape often, create a script to extract the URL for me and run similar.

0

For Safari, this can be accomplished by pasting the URL into the downloads window.

0

The other command line method would be Curl which can also read URLs from a file. Alternatively you can write a higher level script that gets the original page, and parses out the URLs to get individually using something like Perl, Python, Ruby, maybe even JScript, or ZSH.

0

If your browser does not support starting a download via a direct URL (such as Safari), you can just copy the URL into the address bar and go File > Save As.

  • Nope, as Ehtyar pointed out, the plugins automatically start playing the mp3, with no apparent way to save the file. – Michelle Jul 23 '09 at 19:41
  • It would start playing the song, but you should be able to choose Save As from the file menu. I definitely can. – Josh Hunt Jul 24 '09 at 2:55
  • No, save as is greyed out. However, you can just hold down option, select the address bar and hit enter to download it instead of playing it. – mk12 Oct 18 '09 at 2:27
0

Using Safari, all you need to do is open the activity window and then click on the file in the list of files. It should then start downloading the file.

If the media opens in a new window and menu File -> Save As is disabled, then I use the following on Mac OS X.

curl -o sundayEdition.mp3 http://podcast.cbc.ca/mp3/sundayeditionstream_20081125_9524.mp3
0

First, try visiting the URL in web browser. It should prompt for the download. But, if plug-ins are screwing things up, see below.

Install a download manager like Internet Download Manager and use its add URL option to paste the URL in question. This can download any type of resources reliably.

0

You can automate the process by using Xidel:

Xidel is a command line tool to download and extract data from HTML/XML pages or JSON-APIs, using CSS, XPath 3.0, XQuery 3.0, JSONiq or pattern templates. It can also create new or transformed XML/HTML/JSON documents.

Xidel is xmllint, jq, curl/wget all wrapped in one. It may not have every single feature the others do have, but it comes pretty close.

Extract the url:

xidel -s "http://yoursite/" -e "//embed/substring-after(@flashvars,'external_url=')"
http://podcast.cbc.ca/mp3/sundayeditionstream_20081125_9524.mp3

or

xidel -s "http://yoursite/" -e "//embed/extract(@flashvars,'http.+')"
http://podcast.cbc.ca/mp3/sundayeditionstream_20081125_9524.mp3

Download the url:

xidel -s "http://yoursite/" -f "//embed/extract(@flashvars,'http.+')" --download .

P.s. These queries use Windows quoting. If you're on Linux be sure to swap " and ':

xidel -s "http://yoursite/" -f '//embed/extract(@flashvars,"http.+")' --download .
-1

Copy and paste URL into Firefox and voila. Instant download. Easiest method by far ; )

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.