All Projects → yarnaimo → Vanilla Clipper

yarnaimo / Vanilla Clipper

Licence: mit
📃 Webページをそのままの状態でアーカイブするツール

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Vanilla Clipper

Playwright Aws Lambda
Support for running Microsoft's Playwright on AWS Lambda and Google Cloud Functions
Stars: ✭ 107 (-24.65%)
Mutual labels:  puppeteer
Marionette
Selenium alternative for Crystal. Browser manipulation without the Java overhead.
Stars: ✭ 119 (-16.2%)
Mutual labels:  puppeteer
Screenshoteer
Make website screenshots and mobile emulations from the command line.
Stars: ✭ 1,650 (+1061.97%)
Mutual labels:  puppeteer
Pwa Asset Generator
Automates PWA asset generation and image declaration. Automatically generates icon and splash screen images, favicons and mstile images. Updates manifest.json and index.html files with the generated images according to Web App Manifest specs and Apple Human Interface guidelines.
Stars: ✭ 1,787 (+1158.45%)
Mutual labels:  puppeteer
Dappeteer
🏌🏼‍E2E testing for dApps using Puppeteer + MetaMask
Stars: ✭ 117 (-17.61%)
Mutual labels:  puppeteer
Wendigo
A proper monster for front-end automated testing
Stars: ✭ 121 (-14.79%)
Mutual labels:  puppeteer
Node Spider
nodejs爬取西瓜视频(今日头条视频)
Stars: ✭ 105 (-26.06%)
Mutual labels:  puppeteer
Educative.io Downloader
📖 This tool is to download course from educative.io for offline usage. It uses your login credentials and download the course.
Stars: ✭ 139 (-2.11%)
Mutual labels:  puppeteer
Toss Puppeteer
🦀Try all kinds of toss about using GoogleChrome puppeteer(尝试各种折腾使用GoogleChrome puppeteer(木偶))
Stars: ✭ 118 (-16.9%)
Mutual labels:  puppeteer
Weixin Headimg
一键合成所有微信好友头像
Stars: ✭ 129 (-9.15%)
Mutual labels:  puppeteer
Acot
💎 Accessibility Testing Framework. More accessible web, all over the world.
Stars: ✭ 112 (-21.13%)
Mutual labels:  puppeteer
Sushi Browser
Sushi Browser is the next generation browser which mounts the multi-panel and the video support function and so on. Its goal is to be as fantastic as sushi. 🍣
Stars: ✭ 116 (-18.31%)
Mutual labels:  puppeteer
Squidwarc
Squidwarc is a high fidelity, user scriptable, archival crawler that uses Chrome or Chromium with or without a head
Stars: ✭ 125 (-11.97%)
Mutual labels:  puppeteer
Lancia
网页转PDF渲染服务。提供收据、发票、报告或任何网页内容转PDF的微服务
Stars: ✭ 108 (-23.94%)
Mutual labels:  puppeteer
Site Scan
CLI for capturing website screenshots, powered by puppeteer.
Stars: ✭ 137 (-3.52%)
Mutual labels:  puppeteer
Theirtube
TheirTube scraper allows you to retrieve your own Youtube recommendation results on your local environment
Stars: ✭ 105 (-26.06%)
Mutual labels:  puppeteer
Awesome Puppeteer
A curated list of awesome puppeteer resources.
Stars: ✭ 1,728 (+1116.9%)
Mutual labels:  puppeteer
Puppeteer Social Image
Create dynamic social share images using HTML + CSS via puppeteer 🎁
Stars: ✭ 141 (-0.7%)
Mutual labels:  puppeteer
Estimo
Evaluates how long the browser will execute your javascript code.
Stars: ✭ 138 (-2.82%)
Mutual labels:  puppeteer
Deno Puppeteer
A port of puppeteer running on Deno
Stars: ✭ 128 (-9.86%)
Mutual labels:  puppeteer

📃 Vanilla Clipper

日本語 (Qiita)

Vanilla Clipper is a Node.js library to completely save a webpage to local with Puppeteer. You can save all the contents in the page such as images, videos, CSS, web fonts, iframes, and Shadow DOMs with one command.

Dependencies

  • Node.js (>= 8.10)
  • Chrome or Chromium (Latest version)

Installation

yarn global add vanilla-clipper
# or
npm i -g vanilla-clipper

Usage

CLI

Note: If it fails to launch, try adding --no-sandbox (-n) option.

  • Save https://example.com:

    vanilla-clipper https://example.com
    
  • Save .timeline element in https://example.com to tech directory (Set browser language to Japanese):

    vanilla-clipper -d tech -s .timeline -l ja-JP https://example.com
    
  • Login with sub account in the config file:

    vanilla-clipper -a sub https://example.com
    

See here for details of the options.

📂 Directory structure in ~/.vanilla-clipper

📂 .vanilla-clipper
   📂 pages
      📂 main
         📃 20190213-page1.html
         ︙
      📂 {SOME_FOLDER}
         📃 20190213-page2.html
         📃 20190214-page3.html
         ︙

   📂 resources
      📂 20190213
         📎 {ulid}.jpg
         📎 {ulid}.svg
         ︙
      📂 20190214
         📎 {ulid}.woff2
         ︙

   💎 resources.json
   💎 config.json

⚙️ Config file example

{YOUR_HOME_DIRECTORY}/.vanilla-clipper/config.js

module.exports = {
    resource: { maxSize: 50 * 1024 * 1024 },
    sites: [
        {
            url: 'example.com', // site URL
            accounts: {
                default: {
                    // ↑ account label
                    username: 'main', // or () => 'main'
                    password: 'password1',
                },
                sub: {
                    // ↑ account label
                    username: 'sub_account',
                    password: 'password2',
                },
            },
            login: [
                // [action, arg1, arg2, ...]
                [
                    'goto',
                    'https://example.com/login', // URL
                ],
                [
                    'input',
                    'input[name="session[username_or_email]"]', // selector
                    '$username', // -> accounts.{ACCOUNT_LABEL}.username
                ],
                [
                    'input',
                    'input[name="session[password]"]', // selector
                    '$password', // -> accounts.{ACCOUNT_LABEL}.password
                ],
                [
                    'submit',
                    '[role=button]', // selector
                ],
            ],
        },
    ],
}
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].