API for Image Extractor - Client
Given the URL of the page, list all the images that are being used and allow the user to download them.
API is online here and its browser client is online here
Typescript, Express, and Cheerio (will be replaced for Puppeteer). I am using TravisCI for CI/CD
- Get all images from any public website (server side render).
- Download an image from its link
POST /api/extract/
Array of links
{"images": []}
GET /api/download/single?weburl={IMAGE_LINK}
Returns the image. If you make a request from your browser, the image will be displayed.
In order to force downloading:
GET /api/download/single?weburl={IMAGE_LINK}&forceDownload=true
Image will be automatically downloaded.
You should have Node JS and NPM installed on your PC.
git clone https://github.com/lauti7/image-extractor-api.git
cd image-extractor-api
npm install
touch .env
vim .env
NODE_ENV=development
PORT={YOUR_PORT}
- Replace Cheerio for Puppeteer.
- Support for client side render sites.
- Add endpoints for downloading scrapped images.
- Allow users to download an optimized version of each scrapped image.
- Add tests.
- Add Redis cache.
- Dockerize it.