Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ValueError: unknown url type in urllib2, though the url is fine if opened in a browser

Tags:

Basically, I am trying to download a URL using urllib2 in python.

the code is the following:

import urllib2 req = urllib2.Request('www.tattoo-cover.co.uk') req.add_header('User-agent','Mozilla/5.0') result = urllib2.urlopen(req) 

it outputs ValueError and the program crushes for the URL in the example. When I access the url in a browser, it works fine.

Any ideas how to handle the problem?

UPDATE:

thanks for Ben James and sth the problem is detected => add 'http://'

Now the question is refined: Is it possible to handle such cases automatically with some builtin function or I have to do error handling with subsequent string concatenation?

like image 871
Nik Avatar asked Apr 28 '11 18:04

Nik


2 Answers

When you enter a URL in a browser without the protocol, it defaults to HTTP. urllib2 won't make that assumption for you; you need to prefix it with http://.

like image 111
Ben James Avatar answered Sep 18 '22 17:09

Ben James


You have to use a complete URL including the protocol, not just specify a host name.

The correct URL would be http://www.tattoo-cover.co.uk/.

like image 28
sth Avatar answered Sep 22 '22 17:09

sth