Skip to content

alisson04/get-files-by-css-selectors

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Get Files By Css Selectors

About

This package is recommended for situations where you want to download the files of a site by it doesn't have an option like a download button or an easy way to do it

Features

  • ✅ Access a web page and take a print screen
  • ✅ Create a specific folder using the given site link
  • ✅ Download any type of file(with or without extension on url) using a given css selector

Features in development

  • ⚙️ Add replace option to get the original image using the thumb image
  • ⚙️ Add login option with .ENV to sites that require authentication
  • ⚙️ Verify if file already exists and don't save download again(in cases when the downloads break by some reason)

Tecnologies Used

Node axios puppeteer
16.13 1.3.1 19.6.3

Getting Started

Install @dev-alisson-fernandes/get-files-by-css-selectors as a npm module

npm i @dev-alisson-fernandes/get-files-by-css-selectors

Usage

// import
import GetFilesByCssSelectors from '@dev-alisson-fernandes/get-files-by-css-selectors';
const getFilesByCssSelectors = new GetFilesByCssSelectors;

Example 1 - Twitter

// define params
let randomSite = 'https://twitter.com/UOLEconomia';
let cssSelectors = 'img[class~="css-9pa8cd"]';
let attrName = 'src';

// run
await getFilesByCssSelectors.run(randomSite, cssSelectors, attrName);

Example 2 - Instagram

// define params
let randomSite = 'https://www.instagram.com/uoloficial/';
let cssSelectors = 'img[class="x5yr21d xu96u03 x10l6tqk x13vifvy x87ps6o xh8yej3"]';
let attrName = 'src';

// run
await getFilesByCssSelectors.run(randomSite, cssSelectors, attrName);

Example 3 - Google Images

// define params
let randomSite = 'https://www.google.com/search?q=imagem&source=lnms&tbm=isch';
let cssSelectors = 'img[class="rg_i Q4LuWd"]';
let attrName = 'src';

// run
await getFilesByCssSelectors.run(randomSite, cssSelectors, attrName);

Logs

// show array logs in the end
getFilesByCssSelectors.getLogs();

// Disable showing logs durant run process
getFilesByCssSelectors.setConfig({ infiniteScroll: false });

InfiniteScroll

By default, all pages will be scrolled to the end before search elements, but you can disable this behavior with the code below

getFilesByCssSelectors.setConfig({ infiniteScroll: false });

Dev

  • RUN TESTS: npm test
  • RUN LINT: npm eslint

License

GNU General Public License v3.0 (https://www.gnu.org/licenses/gpl-3.0.html)

About

Download files from url using css selectors to find the source of the files

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published