AttributeError: 'module' object has no attribute 'urlretrieve'

后端 未结 3 1064
长发绾君心
长发绾君心 2020-12-07 12:17

I am trying to write a program that will download mp3\'s off of a website then join them together but whenever I try to download the files I get this error:

         


        
相关标签:
3条回答
  • 2020-12-07 12:58

    As you're using Python 3, there is no urllib module anymore. It has been split into several modules.

    This would be equivalent to urlretrieve:

    import urllib.request
    data = urllib.request.urlretrieve("http://...")
    

    urlretrieve behaves exactly the same way as it did in Python 2.x, so it'll work just fine.

    Basically:

    • urlretrieve saves the file to a temporary file and returns a tuple (filename, headers)
    • urlopen returns a Request object whose read method returns a bytestring containing the file contents
    0 讨论(0)
  • 2020-12-07 12:59

    A Python 2+3 compatible solution is:

    import sys
    
    if sys.version_info[0] >= 3:
        from urllib.request import urlretrieve
    else:
        # Not Python 3 - today, it is most likely to be Python 2
        # But note that this might need an update when Python 4
        # might be around one day
        from urllib import urlretrieve
    
    # Get file from URL like this:
    urlretrieve("http://www-scf.usc.edu/~chiso/oldspice/m-b1-hello.mp3")
    
    0 讨论(0)
  • 2020-12-07 13:01

    Suppose you have following lines of code

    MyUrl = "www.google.com" #Your url goes here
    urllib.urlretrieve(MyUrl)
    

    If you are receiving following error message

    AttributeError: module 'urllib' has no attribute 'urlretrieve'
    

    Then you should try following code to fix the issue:

    import urllib.request
    MyUrl = "www.google.com" #Your url goes here
    urllib.request.urlretrieve(MyUrl)
    
    0 讨论(0)
提交回复
热议问题