{"id":13405574,"url":"https://github.com/simonw/shot-scraper","last_synced_at":"2025-05-13T16:11:12.536Z","repository":{"id":38745492,"uuid":"467679579","full_name":"simonw/shot-scraper","owner":"simonw","description":"A command-line utility for taking automated screenshots of websites","archived":false,"fork":false,"pushed_at":"2025-03-25T01:50:01.000Z","size":307,"stargazers_count":1915,"open_issues_count":46,"forks_count":92,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-23T20:59:07.565Z","etag":null,"topics":["playwright","playwright-python","scraping","screenshot-utility","screenshots"],"latest_commit_sha":null,"homepage":"https://shot-scraper.datasette.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simonw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"simonw"}},"created_at":"2022-03-08T21:21:02.000Z","updated_at":"2025-04-23T11:08:24.000Z","dependencies_parsed_at":"2023-02-16T03:16:39.411Z","dependency_job_id":"e50308e5-98a4-445e-b808-f5febf8b747d","html_url":"https://github.com/simonw/shot-scraper","commit_stats":{"total_commits":215,"total_committers":18,"mean_commits":"11.944444444444445","dds":"0.11162790697674418","last_synced_commit":"a559ea0b8450103a80d63dfe6d01acf956af90b0"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonw%2Fshot-scraper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonw%2Fshot-scraper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonw%2Fshot-scraper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonw%2Fshot-scraper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonw","download_url":"https://codeload.github.com/simonw/shot-scraper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250514767,"owners_count":21443208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["playwright","playwright-python","scraping","screenshot-utility","screenshots"],"created_at":"2024-07-30T19:02:05.754Z","updated_at":"2025-04-23T20:59:13.015Z","avatar_url":"https://github.com/simonw.png","language":"Python","funding_links":["https://github.com/sponsors/simonw"],"categories":["Python","Screenshot","Screenshots","语言资源库","Screenshot \u0026 Screencast","others","Open Source Libraries"],"sub_categories":["Self-hosted","python"],"readme":"# shot-scraper\n\n[![PyPI](https://img.shields.io/pypi/v/shot-scraper.svg)](https://pypi.org/project/shot-scraper/)\n[![Changelog](https://img.shields.io/github/v/release/simonw/shot-scraper?include_prereleases\u0026label=changelog)](https://github.com/simonw/shot-scraper/releases)\n[![Tests](https://github.com/simonw/shot-scraper/workflows/Test/badge.svg)](https://github.com/simonw/shot-scraper/actions?query=workflow%3ATest)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/shot-scraper/blob/master/LICENSE)\n[![discord](https://img.shields.io/discord/823971286308356157?label=discord)](https://discord.gg/EE7Hx4Kbny)\n\nA command-line utility for taking automated screenshots of websites\n\nFor background on this project see [shot-scraper: automated screenshots for documentation, built on Playwright](https://simonwillison.net/2022/Mar/10/shot-scraper/).\n\n## Documentation\n\n- [Full documentation for shot-scraper](https://shot-scraper.datasette.io/)\n- [Tutorial: Automating screenshots for the Datasette documentation using shot-scraper](https://simonwillison.net/2022/Oct/14/automating-screenshots/)\n- [Release notes](https://github.com/simonw/shot-scraper/releases)\n\n## Get started with GitHub Actions\n\nTo get started without installing any software, use the [shot-scraper-template](https://github.com/simonw/shot-scraper-template) template to create your own GitHub repository which takes screenshots of a page using `shot-scraper`. See [Instantly create a GitHub repository to take screenshots of a web page](https://simonwillison.net/2022/Mar/14/shot-scraper-template/) for details.\n\n## Quick installation\n\nYou can install the `shot-scraper` CLI tool using [pip](https://pip.pypa.io/):\n\n    pip install shot-scraper\n    # Now install the browser it needs:\n    shot-scraper install\n\n## Taking your first screenshot\n\nYou can take a screenshot of a web page like this:\n\n    shot-scraper https://datasette.io/\n\nThis will create a screenshot in a file called `datasette-io.png`.\n\nMany more options are available, see [Taking a screenshot](https://shot-scraper.datasette.io/en/stable/screenshots.html) for details.\n\n## Examples\n\n- The [shot-scraper-demo](https://github.com/simonw/shot-scraper-demo) repository uses this tool to capture recently spotted owls in El Granada, CA according to [this page](https://www.owlsnearme.com/?place=127871), and to  generate an annotated screenshot illustrating a Datasette feature as described [in my blog](https://simonwillison.net/2022/Mar/10/shot-scraper/#a-complex-example).\n- The [Datasette Documentation](https://docs.datasette.io/en/latest/) uses screenshots taken by `shot-scraper` running in the [simonw/datasette-screenshots](https://github.com/simonw/datasette-screenshots) GitHub repository, described in detail in [Automating screenshots for the Datasette documentation using shot-scraper](https://simonwillison.net/2022/Oct/14/automating-screenshots/).\n- Ben Welsh built [@newshomepages](https://twitter.com/newshomepages), a Twitter bot that uses `shot-scraper` and GitHub Actions to take screenshots of news website homepages and publish them to Twitter. The code for that lives in [palewire/news-homepages](https://github.com/palewire/news-homepages).\n- [scrape-hacker-news-by-domain](https://github.com/simonw/scrape-hacker-news-by-domain) uses `shot-scraper javascript` to scrape a web page. See [Scraping web pages from the command-line with shot-scraper](https://simonwillison.net/2022/Mar/14/scraping-web-pages-shot-scraper/) for details of how this works.\n- Reuters uses shot-scraper to generate regularly updating data dashboards [for email newsletters](https://twitter.com/palewire/status/1658069533763026944).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonw%2Fshot-scraper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonw%2Fshot-scraper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonw%2Fshot-scraper/lists"}