urllib "module object is not callable"

In python 3, the urllib.request object is a module. You need to call objects contained in this module. This is an important change from Python 2, if you are using example code you need to take that into account.

For example, creating the Request object and the opener:

request = urllib.request.Request(url, headers=req_headers)
opener = urllib.request.build_opener()
response = opener.open(request)

Read the documentation carefully.


urllib.request is a module. urllib.request.Request is a class. Calling a module like you're currently doing raises an error. You probably want to call the class, like this:

request = urllib.request.Request(url, headers=req_headers)  # create a request object for the URL

You'll also probably want to use build_opener of urllib.request rather than just urllib:

opener = urllib.request.build_opener()  # create an opener object