<p>I have a small utility that I use to download an MP3 file from a website on a schedule and then builds/updates a podcast XML file which I've added to iTunes.</p>

<p>The text processing that creates/updates the XML file is written in Python. However, I use wget inside a Windows <code>.bat</code> file to download the actual MP3 file. I would prefer to have the entire utility written in Python.</p>

<p>I struggled to find a way to actually download the file in Python, thus why I resorted to using <code>wget</code>.</p>

<p>So, how do I download the file using Python?</p>

Use
```
urllib.request.urlopen()
```
:
```
```
import urllib.request
with urllib.request.urlopen('http://www.example.com/') as f:
    html = f.read().decode('utf-8')
```
```
This is the most basic way to use the library, minus any error handling. You can also do more complex stuff such as changing headers.
On Python 2, the method is in
```
urllib2
```
:
```
```
import urllib2
response = urllib2.urlopen('http://www.example.com/')
html = response.read()
```
```