# shot-scraper
[![PyPI](https://img.shields.io/pypi/v/shot-scraper.svg)](https://pypi.org/project/shot-scraper/)
[![Changelog](https://img.shields.io/github/v/release/simonw/shot-scraper?include_prereleases&label=changelog)](https://github.com/simonw/shot-scraper/releases)
[![Tests](https://github.com/simonw/shot-scraper/workflows/Test/badge.svg)](https://github.com/simonw/shot-scraper/actions?query=workflow%3ATest)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/shot-scraper/blob/master/LICENSE)
[![discord](https://img.shields.io/discord/823971286308356157?label=discord)](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/51/75/32b7e060e21c4dbde9e97ce6cf7edac94d440d79e6d9ee981ef5f57d7696/shot_scraper-1.5.tar.gz",
"platform": null,
"description": "# 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&label=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",
"bugtrack_url": null,
"license": "Apache License, Version 2.0",
"summary": "A command-line utility for taking automated screenshots of websites",
"version": "1.5",
"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": "",
"digests": {
"blake2b_256": "6394e2f8197fab89b6ae7ef37d87c418052f6b6585a1bccf8b0f01092c2ca05a",
"md5": "04039e4be0179fa19d77a2c0df748fcf",
"sha256": "f15e57ec2e3cd60f2cb1e6a1b0b6fd7519b9bbb94ca72d6006cda0aafcbbc88e"
},
"downloads": -1,
"filename": "shot_scraper-1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "04039e4be0179fa19d77a2c0df748fcf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 16159,
"upload_time": "2024-09-27T02:57:56",
"upload_time_iso_8601": "2024-09-27T02:57:56.562486Z",
"url": "https://files.pythonhosted.org/packages/63/94/e2f8197fab89b6ae7ef37d87c418052f6b6585a1bccf8b0f01092c2ca05a/shot_scraper-1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "517532b7e060e21c4dbde9e97ce6cf7edac94d440d79e6d9ee981ef5f57d7696",
"md5": "017745a44b862ffb29e9c9066f520d5e",
"sha256": "7aeb7b46e6ac65dbbf5a858531584ae1354c9a4d1300f051327d7f771e83d397"
},
"downloads": -1,
"filename": "shot_scraper-1.5.tar.gz",
"has_sig": false,
"md5_digest": "017745a44b862ffb29e9c9066f520d5e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 18697,
"upload_time": "2024-09-27T02:57:58",
"upload_time_iso_8601": "2024-09-27T02:57:58.910988Z",
"url": "https://files.pythonhosted.org/packages/51/75/32b7e060e21c4dbde9e97ce6cf7edac94d440d79e6d9ee981ef5f57d7696/shot_scraper-1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-27 02:57:58",
"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"
}