Download Facebook video using Python

With time, social media has emerged to be an eminent medium for social interaction, sharing of content, news etc. Facebook is one such social media application that made keeping up with friends and viewing/sharing content easier than ever. You must have come across many fun as well as informative videos on Facebook. In certain instances, you may have even felt like downloading certain videos for later access. Well, as a Python enthusiast you must be excited to know that you can download any Facebook video using Python too.

Let us now learn the same through this tutorial.

Steps to download Facebook videos using Python

  1. Import necessary modules:
    sys– This module is used for manipulating the Python run-time environment. This helps access interpreter functions and variables.
    os– It provides methods for interacting with the operating system. (accessing different paths etc.).
    requests- It is a Python module for sending HTTP requests.
    wget- It is a Python download utility module for downloading files from the internet server.
  2. The code for downloading:
    import sys
    import os
    import requests as r
    import wget
    filedir = os.path.join('C:/Users/varsh/Downloads')
    LINK = "" #url of video to be downloaded
    html = r.get(LINK)
    except r.ConnectionError as e:
    print("Error in connecting")
    except r.Timeout as e:
    except r.RequestException as e:
    print("Invalid URL")
    except (KeyboardInterrupt, SystemExit):
    print("System has quit")
    except TypeError:
    print("Video seems to be private ")
    print("Video Quality:Normal " )
    print("[+] Starting Download"),filedir)
    print("Video downloaded")
    Video Quality:Normal 
    [+] Starting Download
    -1 / unknown
    Video downloaded

    Thus, the above code will download the Facebook video whose URL is specified while defining the link.
    Also, you can specify the path where you want to store it as a parameter in the download() method.
    Otherwise, you can find the downloaded file in the current directory.


You can also perform the downloading urllib library instead of wget.
The syntax for the same;

urllib.request.urlretrieve(url, filepath)

Also read,
Facebook and YouTube video downloader PHP script

4 responses to “Download Facebook video using Python”

  1. David Chen says:

    The python code “,filedir)” I run has the following message:
    FileNotFoundError: [Errno 2] No such file or directory: ‘C:/Users/varsh/Downloads0xzdykam.tmp’

    How to fix this this problem? Appreciate your help!

    David Chen

  2. Manan Aggarwal says:

    wget downloads wget file, not a mp4 file.

  3. Cebo says:

    the downloaded file is a .wget and not a .mp4, plz help on how to fix this ?

Leave a Reply

Your email address will not be published. Required fields are marked *