Sign inSign up

phatpham9/scraper

By phatpham9

Updated over 8 years ago

An html scraper microservice based on x-ray & micro

Image
0

10K+

phatpham9/scraper repository overview

scraper

An html scraper microservice based on x-ray & micro

Package Version Travis David David Dev

Features

Usage

Request

Send a GET request to /scrape endpoint with query string if:

  1. Scraping a text
ParamsRequiredDescription
s-urlyesdestination website url to be scraped
s-selectoryescss selector of data to be extracted
  1. Scraping multiple of data objects
ParamsRequiredDescription
s-urlyesdestination website url to be scraped
s-scopeyescss selector of data's scope
s-limitnolimit number of objects returned
[selector]yescss selector of each data to be extracted

Response

A text or an array of objects in json whose keys are specified selectors in the request's query string.

Examples

Scraping Bitcoin price in USD from CoinMarketCap
  • Request (uri encoded): https://scraper.fun/scrape?s-url=https://coinmarketcap.com&s-selector=%23id-bitcoin%20.price
  • Response: as shown below
Scraping top 3 coins' price
  • Request (uri encoded): https://scraper.fun/scrape?s-url=https://coinmarketcap.com&s-scope=table%23currencies%20tbody%20tr&name=.currency-name%20.currency-name-container&price=.price&s-limit=3
  • Response: as shown below

Development & deployment guide

Getting started

Make sure NodeJS (9.0.0 or newer), Yarn or NPM installed on your local machine. Then install project dependencies by running:

yarn
Start developing
yarn start

The service will be up at 127.0.0.1:9000 by default

Testing

We use ESLint to lint source code. Simply run:

yarn test
Running in production mode

By the command:

PORT=80 yarn serve

The app will be up at 127.0.0.1

Deploy using Docker

You can use the existing docker image from https://hub.docker.com/r/phatpham9/scraper by running:

docker pull phatpham9/scraper
docker run -d -p 80:80 phatpham9/scraper

The app will be up at 127.0.0.1

Deploy to CaptainDuckDuck

CaptainDuckDuck is a nice heroku-liked tool to deploy your apps easily. You need to install CaptainDuckDuck client on your local, follow the instruction here to do it then run on your local:

captainduckduck deploy

That's it!

Deploy to Heroku

Click the below button to deploy to Heroku dyno

Deploy

Contributing

  1. Fork this repository to your own GitHub account and then clone it to your local device
  2. Follow the Development guide or just simply run: yarn start
  3. Lint code by running: yarn test
  4. Create a pull request for us

Contributing

Tag summary

Content type

Image

Digest

Size

45.6 MB

Last updated

over 8 years ago

docker pull phatpham9/scraper