Socket
Socket
Sign inDemoInstall

link-preview-generator

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

link-preview-generator


Version published
Weekly downloads
209
decreased by-9.52%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

NPM Downloads NPM License Twitter

Get preview data (a title, description, image, domain name) from a url. Library uses puppeteer headless browser to scrape the web site.

BLOG POST and DEMO

Install

$ npm install link-preview-generator

Usage

const linkPreviewGenerator = require("link-preview-generator");

const previewData = await linkPreviewGenerator(
  "https://www.youtube.com/watch?v=8mqqY2Ji7_g"
);
console.log(previewData);
/*
{
  title: 'Kiteboarding: Stylish Backroll in 4 Sessions - Ride with Blake: Vlog 20',
  description: 'The backroll is a staple in your kiteboarding trick ' +
    'bag. With a few small adjustments, you can really ' +
    'improve your style and make this basic your own. ' +
    'Sessio...',
  domain: 'youtube.com',
  img: 'https://i.ytimg.com/vi/8mqqY2Ji7_g/hqdefault.jpg',
  favicon: 'https://www.youtube.com/s/desktop/d3411c39/img/favicon.ico'
}
*/

API

linkPreviewGenerator(url, puppeteerArgs?, puppeteerAgent?)

Accepts a url, which is scraped and optional parameters puppeteerArgs -- browser options and puppeteerAgent -- browser user agent.

Returns an object with preview data of url.

url

Type: string

Scraped url.

puppeteerArgs

Type: array

Options to set on the Chrome browser.

puppeteerAgent

Type: string

Specific user agent to use.

Troubleshooting

If you need to deploy this library (Puppeteer) on Heroku, follow these steps.

If you want to run this library from within a Docker container:

  1. pass the following puppeteer arguments as second argument
// Required for Docker version of Puppeteer
'--no-sandbox',
'--disable-setuid-sandbox',
// This will write shared memory files into /tmp instead of /dev/shm,
// because Docker’s default for /dev/shm is 64MB
'--disable-dev-shm-usage'
  1. make sure your Docker image has all needed dependencies for headless chrome or just go straight away with buildkite/puppeteer
  2. done

License

MIT © Andrej Gajdos

Keywords

FAQs

Last updated on 03 Mar 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc