All Projects → zenato → Puppeteer Renderer

zenato / Puppeteer Renderer

Licence: mit
Puppeteer(Chrome headless node API) based web page renderer

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Puppeteer Renderer

Rendora
dynamic server-side rendering using headless Chrome to effortlessly solve the SEO problem for modern javascript websites
Stars: ✭ 1,853 (+765.89%)
Mutual labels:  puppeteer, chrome-headless, server-side-rendering
puppeteer-loadtest
load test puppeteer (Headless Chrome API) script using node
Stars: ✭ 107 (-50%)
Mutual labels:  chrome-headless, puppeteer
Thal
Getting started with Puppeteer and Chrome Headless for Web Scraping
Stars: ✭ 2,345 (+995.79%)
Mutual labels:  puppeteer, chrome-headless
Chromda
λ 🖼️ Chromda is an AWS Lambda function for capturing screenshots of websites.
Stars: ✭ 481 (+124.77%)
Mutual labels:  puppeteer, chrome-headless
screenie-server
A Node server with a pool of Puppeteer (Chrome headless) instances for scalable screenshot generation.
Stars: ✭ 19 (-91.12%)
Mutual labels:  chrome-headless, puppeteer
Jvppeteer
Headless Chrome For Java (Java 爬虫)
Stars: ✭ 193 (-9.81%)
Mutual labels:  puppeteer, chrome-headless
Webshot Factory
Web Screenshots at scale based on headless chrome
Stars: ✭ 288 (+34.58%)
Mutual labels:  puppeteer, chrome-headless
Viewfinder
📷 BrowserBox - Remote isolated browser API for security, automation visibility and interactivity. Run on our cloud, or bring your own. Full scope double reverse web proxy with multi-tab, mobile-ready browser UI frontend. Plus co-browsing, advanced adaptive streaming, secure document viewing and more! But only in the Pro version. Get BB today! Se…
Stars: ✭ 1,741 (+713.55%)
Mutual labels:  chrome-headless, puppeteer
Puppeteer Sharp Extra
Plugin framework for PuppeteerSharp
Stars: ✭ 39 (-81.78%)
Mutual labels:  puppeteer, chrome-headless
Chart To Aws
Microservice to generate screenshot from a webpage and upload it to a AWS S3 Bucket.
Stars: ✭ 43 (-79.91%)
Mutual labels:  puppeteer, chrome-headless
Node Frontend
Node.js Docker image with all Puppeteer dependencies installed for frontend Chrome Headless testing and default Nginx config, for multi-stage Docker building
Stars: ✭ 104 (-51.4%)
Mutual labels:  puppeteer, chrome-headless
Sms Boom
利用chrome的headless模式,模拟用户注册进行短信轰炸机
Stars: ✭ 507 (+136.92%)
Mutual labels:  puppeteer, chrome-headless
Lancia
网页转PDF渲染服务。提供收据、发票、报告或任何网页内容转PDF的微服务
Stars: ✭ 108 (-49.53%)
Mutual labels:  puppeteer, chrome-headless
Squidwarc
Squidwarc is a high fidelity, user scriptable, archival crawler that uses Chrome or Chromium with or without a head
Stars: ✭ 125 (-41.59%)
Mutual labels:  puppeteer, chrome-headless
React Ssr
React SSR as a view template engine
Stars: ✭ 200 (-6.54%)
Mutual labels:  server-side-rendering
Blog Frontend Project
Web frontend code for my blogs, develop with Vue.
Stars: ✭ 206 (-3.74%)
Mutual labels:  server-side-rendering
Puppeteer Recaptcha Solver
Recaptcha solver for puppeteer
Stars: ✭ 195 (-8.88%)
Mutual labels:  puppeteer
Puppeteer Lottie
Renders Lottie animations via Puppeteer to image, GIF, or MP4.
Stars: ✭ 208 (-2.8%)
Mutual labels:  puppeteer
Yii2 Angular Boilerplate
Yii2 REST API + Angular10 Boilerplate (Frontend/Backend)
Stars: ✭ 194 (-9.35%)
Mutual labels:  server-side-rendering
Crate
👕 👖 📦 A sample web and mobile application built with Node, Express, React, React Native, Redux and GraphQL. Very basic replica of stitchfix.com / krate.in (allows users to get monthly subscription of trendy clothes and accessories).
Stars: ✭ 2,281 (+965.89%)
Mutual labels:  server-side-rendering

Puppeteer(Chrome headless node API) based web page renderer

Puppeteer (Chrome headless node API) based web page renderer.

Useful server side rendering through proxy. Outputs HTML, PDF and screenshots as PNG.

Requirements

You can run Chromium or docker.

Getting Started

Install dependencies.

npm install

Start server (If you can run Chromium)

npm start

(service port: 3000)

Start server using docker (If you can not run Chromium and installed docker)

docker run -d --name renderer -p 8080:3000 zenato/puppeteer-renderer

Test on your browser

Input url http://localhost:{port}/?url=https://www.google.com

If you can see html code, server works fine.

Integration with existing service.

If you have active service, set proxy configuration with middleware. See puppeteer-renderer-middleware for express.

const renderer = require('puppeteer-renderer-middleware');

const app = express();

app.use(renderer({
  url: 'http://installed-your-puppeteer-renderer-url',
  // userAgentPattern: /My-Custom-Agent/i,
  // excludeUrlPattern: /*.html$/i
  // timeout: 30 * 1000,
}));

// your service logics..

app.listen(8080);

API

Name Required Value Description Usage
url yes Target URL http://puppeteer-renderer?url=http://www.google.com
type pdf or screenshot Rendering another type. http://puppeteer-renderer?url=http://www.google.com&type=pdf&margin.top=10px
animationTimeout Timeout in milliseconds Waits for animations to finish before taking the screenshot. Only applicable to type screenshot http://puppeteer-renderer?url=http://www.google.com&type=screenshot&animationTimeout=3000
(Extra options) Extra options (see puppeteer API doc) http://puppeteer-renderer?url=http://www.google.com&type=pdf&scale=2

PDF File Name Convention

Generated PDFs are returned with a Content-disposition header requesting the browser to download the file instead of showing it. The file name is generated from the URL rendered:

URL Filename
https://www.example.com/ www.example.com.pdf
https://www.example.com:80/ www.example.com.pdf
https://www.example.com/resource resource.pdf
https://www.example.com/resource.extension resource.pdf
https://www.example.com/path/ path.pdf
https://www.example.com/path/to/ pathto.pdf
https://www.example.com/path/to/resource resource.pdf
https://www.example.com/path/to/resource.ext resource.pdf

License

MIT

Copyright (c) 2017-present, Yeongjin Lee

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].