@classicdev/fb-post-downloader
v1.1.0
Published
A Node.js tool that allows you to download images from posts on the Facebook platform.
Maintainers
Readme
fb-post-downloader
A Node.js tool (CommonJS) that allows you to download images from posts on the Facebook platform. This tool uses scrapping method, so if Facebook changes the website structure, fb-post-downloader may not work.
Installation
You can install fb-post-downloader by typing the following command:
npm install @classicdev/fb-post-downloaderfb-post-downloader supports the following Facebook url formats:
- https://www.facebook.com/share/1234567890
- https://www.facebook.com/1234567890/posts/1234567890/?mibextid=12345678
How to use
You need to import the fb-post-downloader module first
const dl = require("@classicdev/fb-post-downloader");After importing, you can immediately use several available functions to download images from Facebook posts. Here's how to use it:
// Get the downloader
const downloader = dl.getDownloader();dl.getDownloader() will return the following object:
{
imagedl: async function(url) {},
metadatadl: async function (url) {},
bothdl: async function(url) {}
}- downloader.imagedl(url): This is a function that functions to get the download URL to download images from Facebook posts, you can open it in a browser or download it directly using http/https
- downloader.metadatadl(url): This function is used to retrieve post metadata. Currently, it can only retrieve two types of metadata
- downloader.bothdl(url): This function is used to get the download URL and metadata at the same time
Here's how to use each of these functions
downloader.imagedl(url):
(async () => {
const result = await downloader.imagedl("https://www.facebook.com/share/1234567890");
console.log(result);
})();Output:
- Posts with 1 image:
{
downloadUrl: "https://..."
}- Posts with multiple images:
{
downloadUrl: [ "https://...", "https://...", "https://..." ]
}downloader.metadatadl(url):
(async () => {
const result = await downloader.metadatadl(url);
console.log(result);
})();Output:
{
user: "Username",
caption: "My post caption"
}- result.user: Contains the name of the user who posted the post
- result.caption: Contains post caption
downloader.bothdl(url):
(async () => {
const result = await downloader.bothdl("https://www.facebook.com/share/1234567890");
console.log(result);
})();Output:
{
downloadUrl: "https://..." || [ "https://...", "https://...", "https://..." ],
user: "Username",
caption: "My post caption"
}Final code example
const dl = require("fb-post-downloader");
(async () => {
const downloader = dl.getDownloader();
const downloadUrlResult = await downloader.imagedl("https://www.facebook.com/share/1234567890/");
const metadataResult = await downloader.metadatadl("https://www.facebook.com/share/1234567890/");
console.log(downloadUrlResult);
console.log(metadataResult);
})();Additional properties
dl.version();To print a log showing the version of fb-post-downloader currently in use/installed
dl.getVersion();To get the version of fb-post-downloader that is currently being used/installed
Notes
Output function: downloader.metadatadl(url) or downloader.bothdl(url)
- If the username or post caption fails to be retrieved, the output will be something like this:
{
user: "Anonymous",
caption: "Caption is not available"
}- If the download url is not found,
result.downloadUrlwill be null.
