# shot-scraper
[](https://pypi.org/project/shot-scraper/)
[](https://github.com/simonw/shot-scraper/releases)
[](https://github.com/simonw/shot-scraper/actions?query=workflow%3ATest)
[](https://github.com/simonw/shot-scraper/blob/master/LICENSE)
[](https://discord.gg/EE7Hx4Kbny)
A command-line utility for taking automated screenshots of websites
For background on this project see [shot-scraper: automated screenshots for documentation, built on Playwright](https://simonwillison.net/2022/Mar/10/shot-scraper/).
## Documentation
- [Full documentation for shot-scraper](https://shot-scraper.datasette.io/)
- [Tutorial: Automating screenshots for the Datasette documentation using shot-scraper](https://simonwillison.net/2022/Oct/14/automating-screenshots/)
- [Release notes](https://github.com/simonw/shot-scraper/releases)
## Get started with GitHub Actions
To 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.
## Quick installation
You can install the `shot-scraper` CLI tool using [pip](https://pip.pypa.io/):
pip install shot-scraper
# Now install the browser it needs:
shot-scraper install
## Taking your first screenshot
You can take a screenshot of a web page like this:
shot-scraper https://datasette.io/
This will create a screenshot in a file called `datasette-io.png`.
Many more options are available, see [Taking a screenshot](https://shot-scraper.datasette.io/en/stable/screenshots.html) for details.
## Examples
- 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).
- 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/).
- 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).
- [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.
- Reuters uses shot-scraper to generate regularly updating data dashboards [for email newsletters](https://twitter.com/palewire/status/1658069533763026944).
Raw data
{
"_id": null,
"home_page": "https://github.com/simonw/shot-scraper",
"name": "shot-scraper",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "Simon Willison",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/cc/8a/c331f054f127057b248ac0b004b9bf51ec477e77eed4cbbaa634a0bd868f/shot_scraper-1.7.tar.gz",
"platform": null,
"description": "# shot-scraper\n\n[](https://pypi.org/project/shot-scraper/)\n[](https://github.com/simonw/shot-scraper/releases)\n[](https://github.com/simonw/shot-scraper/actions?query=workflow%3ATest)\n[](https://github.com/simonw/shot-scraper/blob/master/LICENSE)\n[](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",
"bugtrack_url": null,
"license": "Apache License, Version 2.0",
"summary": "A command-line utility for taking automated screenshots of websites",
"version": "1.7",
"project_urls": {
"CI": "https://github.com/simonw/shot-scraper/actions",
"Changelog": "https://github.com/simonw/shot-scraper/releases",
"Homepage": "https://github.com/simonw/shot-scraper",
"Issues": "https://github.com/simonw/shot-scraper/issues"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "abfcfff0003555428e8a1b6bb020447c836dfbd9e48a2880ffb9cde62a633e6f",
"md5": "edab5c052caaa476b5f300c6eb9039c6",
"sha256": "196fd0859e20a31020966ba36702c47980efd13e95622c6f32125b7b2d894138"
},
"downloads": -1,
"filename": "shot_scraper-1.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "edab5c052caaa476b5f300c6eb9039c6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 16760,
"upload_time": "2025-02-20T19:11:19",
"upload_time_iso_8601": "2025-02-20T19:11:19.126482Z",
"url": "https://files.pythonhosted.org/packages/ab/fc/fff0003555428e8a1b6bb020447c836dfbd9e48a2880ffb9cde62a633e6f/shot_scraper-1.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cc8ac331f054f127057b248ac0b004b9bf51ec477e77eed4cbbaa634a0bd868f",
"md5": "64bbbf70f28b3deab8f982cc8ea4b10f",
"sha256": "3509d30659b19bdc1d6ebb50b3c5a0f1f2f7129478464cdaba6294867eb54de6"
},
"downloads": -1,
"filename": "shot_scraper-1.7.tar.gz",
"has_sig": false,
"md5_digest": "64bbbf70f28b3deab8f982cc8ea4b10f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 20034,
"upload_time": "2025-02-20T19:11:20",
"upload_time_iso_8601": "2025-02-20T19:11:20.570239Z",
"url": "https://files.pythonhosted.org/packages/cc/8a/c331f054f127057b248ac0b004b9bf51ec477e77eed4cbbaa634a0bd868f/shot_scraper-1.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-20 19:11:20",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "simonw",
"github_project": "shot-scraper",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "shot-scraper"
}