Public | Automated Build

Last pushed: a year ago
Short Description
Load a web page, take a screenshot (snap) and create a har file of network transfers (sniff).
Full Description

snap-sniff

Load a web page, take a screenshot (snap) and create a har file of network transfers (sniff).

Quick start - docker

docker run -v `pwd`:/data blairs/snap-sniff https://amazon.com amazon.png amazon.har

The image will be stored in amazon.png, the network traffic in amazon.har.

Quick start - local

npm install -g bls/snap-sniff
snap-sniff https://amazon.com amazon.png amazon.har

Docker - build your own

To build a docker image:

git clone https://github.com/bls/snap-sniff.git
cd snap-sniff
docker build -t snap-sniff .
docker run -v `pwd`:/data snap-sniff http://amazon.com amazon.png amazon.har

Note: Docker invocations have the "--xvfb" argument supplied automatically, because SlimerJS needs
a frame buffer.

AWS Lambda

Work in progress, check back soon.

Credits

This is based on url-to-image with added code from PhantomJS "netsniff" example. Then discovered
there's no way to log the response content in PhantomJS without using an external proxy. So switched
from PhantomJS to SlimerJS which can save content.

Notes

SlimerJS doesn't quite run headless, so need xvfb or a real window system.

Mean data output sizes for Alexa top 1000:

  • PNG screenshots - 2.5MB
  • Compressed har files (bzip2) - 2.3MB
  • Uncompressed har files - 5.6MB
Docker Pull Command
Owner
blairs
Source Repository

Comments (0)