---
title: "💭 simonw/shot-scraper: A command-line utility for taking automat..."
description: "!https://github.com/simonw/shot-scraper"
date: 2023-08-16
published: true
tags:
  - python
  - screenshot
  - webdev
  - thought
template: link
---


<div class="embed-card embed-card-external">
  <a href="https://github.com/simonw/shot-scraper" class="embed-card-link" target="_blank" rel="noopener noreferrer">
    <div class="embed-card-image">
      <img src="https://repository-images.githubusercontent.com/467679579/52765249-ede7-4e86-87b1-0a11c4406ec3" alt="GitHub - simonw/shot-scraper: A command-line utility for taking automated screenshots of websites — A command-line utility for taking automated screenshots of websites - simonw/shot-scraper" loading="lazy">
    </div>
    <div class="embed-card-content">
      <div class="embed-card-title">GitHub - simonw/shot-scraper: A command-line utility for taking automated screenshots of websites</div>
      <div class="embed-card-description">A command-line utility for taking automated screenshots of websites - simonw/shot-scraper</div>
      <div class="embed-card-meta">GitHub &middot; github.com</div>
    </div>
  </a>
</div>


        > A command-line utility for taking automated screenshots of websites


Daaaang, this is such an elegantly simple way to get web screenshots with a cli.  I was literally up and running with two commands on my arch linux machine (which it warned was unsupported by playwright).

``` python
pip install shot-scraper
# Now install the browser it needs:
shot-scraper install
shot-scraper waylonwalker.com
shot-scraper https://datasette.io/ 
shot-scraper https://datasette.io/ -h 1280 -w 1920
shot-scraper https://datasette.io/ -h 480 -w 720
shot-scraper shot --selector '#posts' https://thoughts.waylonwalker.com/post/89
```

> Note `shot-scraper https://datasette.io/ ` is a full length screenshot of the entire page.

Oh and its pretty dang fast, let alone the setup time, this crushes on startup time in my attempts to use a headless browser in the past.

!!! note

    This post is a <a href="/thoughts/" class="wikilink" data-title="Thoughts" data-description="These are generally my thoughts on a web page or some sort of url, except a rare few don&#39;t have a link. These are dual published off of my..." data-date="2024-04-01">thought</a>. It's a short note that I make
    about someone else's content online <a href="/tags/thoughts/" class="hashtag-tag" data-tag="thoughts" data-count=2 data-reading-time=3 data-reading-time-text="3 minutes">#thoughts</a>
