A social post comment thread analyzer written in Golang.
Go HTML Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
scripts
static
vendor/github.com
.gitignore
LICENSE
Makefile
README.md
comment.go
config.go
facebook.go
instagram.go
keywords.go
main.go
quackerjack.example.cnf
sentiment.go
vine.go
webgui.go
youtube.go

README.md

Quackerjack v2.5

A Comment Thread Analyzer and Report Generator

A CLI script, written in Go, that takes a YouTube video (or Instagram, Facebook, or Vine posts) URL and generates a report about the content of the comment stream.

Web GUI

The report includes:

  • The total number of comments and how many were collected.
  • The top keywords from the comments.
  • The sentiment analysis of the comments.
  • A random sampling of the comments.

Requirements

Installation

go get github.com/mikeflynn/quackerjack

Running

The script can be run via the command line, which will return a JSON object of the resulting data:

quackerjack -stopwords ./static/stopwords.txt[,/comma/delimited/textfiles] -post [post url] [-verbose]

You can also run quackerjack as a web service. Add the -server flag to start a web server that has two endpoints on port 8080: / is a simple web interface where you can enter post urls and it displays the results in a visual report. /api is the JSON web service route which takes a ?vid= param and retuns a JSON response.

Flags

-post XXXX YouTube, or Instagram post URL.

-ytkey xxxxxxxxxxxxxxxx Your Google API key with access to the YouTube Data API.

-igkey xxxxxxxxxxxxxxxx Your Instagram API key.

-fbkey xxxxxxxxxxxxxxxx Your Facebook API key.

-fbsecret xxxxxxxxxxxxx Your Facebook API secret code.

-vnuser xxxxxxxxxx Your Vine username.

-vnpass xxxxxxxxxx Your Vine password.

-stopwords /xxx/yy/zz.txt A comma delimitated list of additional stop word text files not in config.

-verbose Standard boolean flag for extra logging to std out.

-training /xxx/yy/zz.txt Load a list of training words for the semantic analysis.

-redis "127.0.0.1:6379" A string containing the host and port of the redis server.

-server Start the web interface rather than having the JSON get dumpped to std out.

-port 8000 Override the web server port.

Training

Before you can analyze any comments, you'll need to train your semantic engine by starting up your Redis server and loading the supplied training data.

quackerjack -training ./static/training/afinn-111.csv

You can always add in your own training data by creating a csv file with two fields: word, tag (in between -5 and 5)

Development

If you want to dig in to the code, you can clone this repo...

git clone https://github.com/mikeflynn/quackerjack.git

...tweak until your heart's content, and then build your new version with the included Makefile...

make

...which installs all the dependencies, formats your code and builds the web GUI HTML file in to go code, then generates a quackerjack binary.

Who is Quackerjack?

He's a villain from Darkwing Duck.