Skip to content

Turn any website to API (serverless and support SPA!)

License

Notifications You must be signed in to change notification settings

ali4ever4/cloudquery

 
 

Repository files navigation

CloudQuery

Turn any website to API (serverless and support SPA!)

Try online: https://cloudquery.t9t.io

API

Example url: https://cloudquery.t9t.io/query?url=https://news.ycombinator.com/best&selectors=*:nth-child(1) > * > *:nth-child(2) > *:nth-child(2) > :nth-child(1),:nth-child(3) *:nth-child(1) > *:nth-child(3) > *:nth-child(1)

Query params:

  • url: url of the webpage you want to fetch
  • selectors: css selectors describing the elements interests you

Returns:

  • innerText: element innerText
  • href: element href

Run locally

npm i
npm start
# open http://localhost:3000

How to deploy your own CloudQuery to AWS lambda

1. Configuration

  • update profile(AWS Credential Profiles) in up.json to use your own aws account
  • update rateLimit in config.json to set your own rate limit (Default: 5 request/hour)

2. Deploy

  1. npm install
  2. Install up
  3. Input up in terminal and hit enter :)
  4. up url to see the API baseURL of your CloudQuery

How to Contribute

  1. Install nodemon and parcel locally
  2. Start backend by npm run local
  3. Start frontend by
        cd frontend
        npm install
        npm start
  4. The backend and frontend server will both auto restart when seeing code change
  5. After adding new feature or fixing bugs, execute npm run build in frontend folder, frontend code will be built and copied to public folder.

Develop online

You can run CloudQuery in a free online dev environment using Gitpod:

Open in Gitpod

Thanks

  • up for deploying serverless API to AWS with ease
  • serverless-chrome for running chrome on AWS lambda
  • finder for making it easy to select elements on webpage

About

Turn any website to API (serverless and support SPA!)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 76.9%
  • HTML 23.1%