Tuesday, January 22, 2008

Downloading links with Konqueror4

From time to time I've to download several documents from a website (e.g. university) and there is nothing more boring than right clicking on every link, choosing 'Save link as...', selecting the directory... and doing that several times.

Fortunately Konqueror has this cool embedded konsole window, so if all link addresses follow a special schema, you can do some magic with 'for i in 1 2 3 4 5; do wget http://host/doc$i.pdf; done'.

However not all professors name their documents by a special schema... so back to the 'Save link as...' solution? Not anymore! :)

I've written a plugin for Konqueror in KDE4, which allows you to select a couple of links on a website, choose a menu entry from the menu bar, selecting a destination folder and all links, independent of their names, will be downloaded. As pictures say more than 1000 words, here are the obligatory screenshots:

1) Select the links and choose 'Download selected Links...' from 'Tools' menu

2) Select the target directory

3) The download dialog will show the progress of the download

If anyone is interested in this plugin, I would commit it to extragear/base during the next days.


Gabriel said...

KGet has been doing that in KDE 3.5 for quite a while now, does it no longer exist in KDE4?

√Čric said...

Ho yes please! Commit it!

I've fought the past days to download close to 500 files with their links embedded in a page and it was so boring. kget did not work as good as I was excepting, so I finally ended up with a brutal wget on the website.

It would be such a cool feature!

Martin said...

Please do, it's a very good idea.

Tumaix said...

dude, this is actually really good.
just one problem...
i was starting (the very few 3 lines of code) a plugin to do the very same thing.

but since your actually works, you can keep the credit =*
just one tought.:

"Save selected links as PDF"
the first PDF page could be the links, and cliking on them , or scrooling, change to the linked pages.

what you think?

cyber_fusion said...

Kget integration already provides this (yes in 4.0 too), why replicate existing functionality ?!

dBera said...

Two quick things:
* KGet has an option to download links. I dont know if it was/will be ported to KDE4 though.
* Selecting the links by mouse is not always a good idea - it will only when all the links are presented in a list. Instead you could pop up a window showing all the links and allow users to select the ones they need. Have a quick filter button to filter on link text (so that the user can quickly weed out the unwanted links) and a select-all/unselect-all to select a bunch of links. That will make it extremely useful for a lot of use cases.

tokoe said...


following the comment it seems that I'm not the only person who wasn't aware that kget provides this functionality already ;). Ok, kget doesn't allow to download only the selected links. You have to select them from the list of all links. That could be a problem if the page contains many links with different wired names.

Maybe we can join the functionality, so that you can either download just the selected links or get a dialog to choose from all links. I'll contact the kget developer...

Ilyak said...

Yes, that would be very useful.

DanaKil said...

Interesting, at least for the code :)
please share it


Luke said...

Sounds like a good idea, either way!

Is it at all feasible to add 'Open in Tabs' to your implementation? I'm assuming that at worst, the links can be iteratively passed back to Konqui using DCOP/DBUS?

My laptop has really bad middle-clicking (my usual tab-open controller), so it takes ages to open a page full of links that I want to review.

1. Find Link->
2. Right Click->
3. Find 'Open in New Tab' in context menu->
4. Move mouse to correct position in context menu->
5. Click 'Open in New Tab'
6. Repeat.

It's really annoying...!

Balleyguier J said...

That's great. It did exist, in some way in konq 3.5, but you couldn't select multiple links.

It would be great to be able to drag and drop the selection in a view of konqueror, instead of choosing a folder in menu etc...

Dragonopolis said...

Sounds similar to that firefox plugin DownThemAll! which is in the tops in my very short list of must have firefox plugins. Click on DownthemAll and it will list every link with the option to tick everyone or just choose. There is even a few filters to make it easier to find what you are looking for and you can add addition filters.

Have felt your pain but no more as I use Firefox.

Here's to hoping you can come up with a similar plugin for Konq4

Diederik said...

That's a really nice innovation! :)

Thomas said...

Nice, I use this feature quite often with FlashGot on Firefox. But instead (or along with) placing the action on the tool menu, wouldn't it be better to place it on the right click menu? This is the kind of context dependent action that seems to fit there better.