Giter Club home page Giter Club logo

likes's Introduction

likes

Easily query social media likes/followers without tokens (for node).

NO TOKENS REQUIRED

API Doc Build Status Coverage Status

Available for:

  • Facebook
  • Twitter
  • Instagram
  • Youtube

Installation

$ npm install likes

Example

var likes = require('likes')

likes.twitter('BarackObama', function (err, count) {
  if (err) {
    console.error(err)
    process.exit(1)
  }
  console.log('Barack has', count, 'followers on Twitter')
})

API

API Doc

How it works

The module uses simple HTTP GET to query the respective counts. So far NO headless browser like phantomjs is employed. As the respective page layout may change, this approach is pretty fragile.

Keep in mind that the respective platform may rate-limit / blacklist you in case of "excessive" usage.

Contribution is very welcomed!

likes's People

Contributors

lipp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

likes's Issues

Prevent being blacklisted and/or report exceptions

As the respective page layout may change, this approach is pretty fragile. Keep in mind that the respective platform may rate-limit / blacklist you in case of "excessive" usage.
Source: readme

I create unofficial APIs using request and cheerio all the time in the exact same way. What you can do to prevent getting blacklisted is cache the response body to the local file system and set a minimum delay time required before fetching it again. If cache is less than x period old, resolve local file and otherwise fetch it again and overwrite. This also protects the user if he or she is stupid and the script accidentally gets executed in a loop.

You don't want to periodically check if all of your modules like this 'still work'. You can implement a sort of event handler/callback at the end of your HTTP request logic that will report back to you if something failed. In other words, if successful do nothing but otherwise send the error somewhere using webhooks or websockets or something. Whether you want this depends on the situation or should be optional I guess but in this way when something changes that breaks your script, you will know about it in seconds from all users and applications using it.

bug in googleplus

seems the following selector is fixing the issue;

let selector = 'div[role="region"] > c-wiz:first-child > div:first-child > div:first-child > div:nth-child(2) > div:nth-child(6) > div:nth-child(2)';

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.