What is the best way to do this

Imagine that I have an input where the user specify an url address, I want my application to parse that address and call the right handler for that address.
For example, I have a base class for handlers and classes that inherit from the base class. Each handler will result a string with information from that address and each handler will download the page, parse and so on...
I was wondering, is there a design pattern to help me with that? I mean, how my application know which handler to instantiate?
I don't want to be using if and elses, it seems to be a bad design.

That all just came out of my head real quick so it may not compile or be 100% syntactically correct, but it should give you the idea. The map is static so it isn't built every time you instantiate your class X. It doesn't need to be but will be better on memory and speed if it is. :)