puppeteer-walker
Version:
puppeteer crawler
61 lines (45 loc) • 1.9 kB
Markdown
[![npm version][1]][2] [![build status][3]][4]
[![downloads][5]][6] [![js-standard-style][7]][8]
A crawler to go through your given site in a headless chrome using
[](https://github.com/GoogleChrome/puppeteer). Returns an object
containing host, current path, and current DOM object
```js
var Walker = require('puppeteer-walker')
var walker = Walker()
walker.on('end', () => console.log('finished walking'))
walker.on('error', (err) => console.log('error', err))
walker.on('page', async (page) => {
var title = await page.title()
console.log(`title: ${title}`)
})
walker.walk('https://avocado.choo.io')
```
Create a new walker instance.
Listen to a `page` event. Returns an instance of the puppeteer [Page
Class](https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#class-page).
The `callback` has to be an Async Function.
Use the `push(url)` method to add more pages into the internal walker queue.
This is useful for busting past login forms, and the like.
Listen to `error` events.
Listen to an `end` event.
Start walking the URL.
- [GoogleChrome/puppeteer](https://github.com/GoogleChrome/puppeteer)
[](./LICENSE)
[]: https://img.shields.io/npm/v/puppeteer-walker.svg?style=flat-square
[]: https://npmjs.org/package/puppeteer-walker
[]: https://img.shields.io/travis/lrlna/puppeteer-walker/master.svg?style=flat-square
[]: https://travis-ci.org/lrlna/puppeteer-walker
[]: http://img.shields.io/npm/dm/puppeteer-walker.svg?style=flat-square
[]: https://npmjs.org/package/puppeteer-walker
[]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square
[]: https://github.com/feross/standard