mugshots-client
About
Unofficial Node.js client for mugshots.com. Exposes both a Readable Stream and an Async Iterator API for streaming Mugshot objects. 🚔👮
Usage
Install
npm i mugshots-client --s
Import
Typescript
import { MugshotStream, Mugshot } from 'mugshots-client';
Javascript (CommonJS)
const { MugshotStream } = require('mugshots-client');
API
Readable Stream API
; ;
Async Iterator API
;; ;
Docs
MugshotStream
PagePool
CountyIterable
MugshotUrlIterable
scrapeMugshot
scrapeMugshots
FAQ
www.mugshots.com immoral?
Why'd you make this? Isn'tMy goals are to:
- Subvert mugshots.com by making the watermarked records they re-publish from the public domain freely available for anyone to use
- Bring attention to the moral implications for open records on the internet
- More on NPR's Planet Money podcast, Episode 878: Mugshots For Sale
- Use this library for inequality and social justice research
Puppeteer? Isn't cheerio faster & doesn't it use less resources?
Why'd you useI chose Puppeteer to provide a path forward for obscuring scraping, to future-proof this software against censorship or TOS changes.
Here is an article on making headless Chrome undetectable. My goal is to provide an API for making an undetectable scraper. It will be impossible to detect scraping if we manipulate the Chrome browser's behavior and properties to mimic a human user's browser.