Facebook Video Downloader | HTML Parser DEMO

This is a small Demo of what the HtmlParser Component can do. A lot of users have requested for a Facebook Video Downloader Demo and if it’s possible. HtmlParser Component can be used for WebScraping and Apps like Social Media Video Downloaders are possible but it is not just limited to that. We hope that this demo will help you learn how to use the HtmlParser Component. The AIA and the Apk are attached below.

AIA: FacebookVideoDownloader.aia (6.5 KB)
APK: VideoDownloaderDemo.apk (3.8 MB)

This is only a demo and should be used for educational purposes only.


can we make facebook photos and instagram video and photo downloader app too ?

I think yes (Not tested). There is many possibilities with this component not just only photo video downloader application.

1 Like

is there any documents of html parser so that can i make app like these ?

No proper documentation as of now, check the aia provided in the first post.

Hey @Souvik
I have checked the aia file but i couldn’t understand what i need to change in aia file to download others social media videos & photos.

These are the available queries:

Selector overview

  • tagname : find elements by tag, e.g. a
  • ns|tag : find elements by tag in a namespace, e.g. fb|name finds <fb:name> elements
  • #id : find elements by ID, e.g. #logo
  • .class : find elements by class name, e.g. .masthead
  • [attribute] : elements with attribute, e.g. [href]
  • [^attr] : elements with an attribute name prefix, e.g. [^data-] finds elements with HTML5 dataset attributes
  • [attr=value] : elements with attribute value, e.g. [width=500] (also quotable, like [data-name='launch sequence'] )
  • [attr^=value] , [attr$=value] , [attr*=value] : elements with attributes that start with, end with, or contain the value, e.g. [href*=/path/]
  • [attr~=regex] : elements with attribute values that match the regular expression; e.g. img[src~=(?i)\.(png|jpe?g)]
  • * : all elements, e.g. *

Selector combinations

  • el#id : elements with ID, e.g. div#logo
  • el.class : elements with class, e.g. div.masthead
  • el[attr] : elements with attribute, e.g. a[href]
  • Any combination, e.g. a[href].highlight
  • ancestor child : child elements that descend from ancestor, e.g. .body p finds p elements anywhere under a block with class “body”
  • parent > child : child elements that descend directly from parent, e.g. div.content > p finds p elements; and body > * finds the direct children of the body tag
  • siblingA + siblingB : finds sibling B element immediately preceded by sibling A, e.g. div.head + div
  • siblingA ~ siblingX : finds sibling X element preceded by sibling A, e.g. h1 ~ p
  • el, el, el : group multiple selectors, find unique elements that match any of the selectors; e.g. div.masthead, div.logo

Pseudo selectors

  • :lt(n) : find elements whose sibling index (i.e. its position in the DOM tree relative to its parent) is less than n ; e.g. td:lt(3)
  • :gt(n) : find elements whose sibling index is greater than n ; e.g. div p:gt(2)
  • :eq(n) : find elements whose sibling index is equal to n ; e.g. form input:eq(1)
  • :has(selector) : find elements that contain elements matching the selector; e.g. div:has(p)
  • :not(selector) : find elements that do not match the selector; e.g. div:not(.logo)
  • :contains(text) : find elements that contain the given text. The search is case-insensitive; e.g. p:contains(jsoup)
  • :containsOwn(text) : find elements that directly contain the given text
  • :matches(regex) : find elements whose text matches the specified regular expression; e.g. div:matches((?i)login)
  • :matchesOwn(regex) : find elements whose own text matches the specified regular expression
  • Note that the above indexed pseudo-selectors are 0-based, that is, the first element is at index 0, the second at 1, etc

This tutorial surely made my day, please how can I get the video thumbnail?