Last Saturday in the bangpypers meet, anand introduced HarvestMan.
From the project page: HarvestMan is a fully functional, multithreaded webcrawler cum offline-browser. It is highly customizable and supports as much as 55 plus options for controlling and customizing offline browsing. It is written entirely in the Python programming language.
It simply rocks. I remember in the college days I was looking something like this. Now I have one and in python :) Still now it is a command line tool, GUI is in TODO list. So, will start doing that. For me, PyQt is the best choice. If any one is wondering, how a gr8 python modular code looks, he/she should look into HarvestMan.