arnaucube
arnaucube/argosPublic Self-hosted repository
device source analysis
arnaucode idoctnef@openmailbox.org
Sat, 15 Apr 2017 20:47:33 +0200
commit

8456427b32c6f2f730e36e0ee7733d594a41abf6

parent

ee7caca895ab42a7603b3a0b19698138901c6d14

6 files changed, 39 insertions(+), 3 deletions(-)

jump to
M README.md → README.md

@@ -1,6 +1,13 @@

# goTweetsAnalyze -twitter analyzer written in Go lang +twitter analyzer written in Go lang, insipired on the Python tweets_analyzer by x0rz https://github.com/x0rz/tweets_analyzer + +[under development] +#### Current analysis +- word count +- weekly activity distribution +- daily activity distribution +- devices used ![Alt text](https://raw.githubusercontent.com/arnaucode/goTweetsAnalyze/master/screen3.png "screen")

@@ -24,4 +31,4 @@ - execute the script with:

``` ./goTweetsAnalyze ``` -- follow the instructions +- follow the instructions that appears on the terminal
A analyzeSource.go

@@ -0,0 +1,20 @@

+package main + +import ( + "strings" + + "github.com/dghubble/go-twitter/twitter" +) + +func analyzeSource(tweets []twitter.Tweet) map[string]int { + var sources = make(map[string]int) + for _, v := range tweets { + source := strings.Split(strings.Split(v.Source, ">")[1], "<")[0] + if _, ok := sources[source]; ok { + sources[source] = sources[source] + 1 + } else { + sources[source] = 1 + } + } + return (sources) +}
M getUser.go → getUser.go

@@ -4,6 +4,7 @@ import (

"bufio" "fmt" "os" + "strconv" "strings" "github.com/dghubble/go-twitter/twitter"

@@ -18,6 +19,7 @@ fmt.Println("user selected: " + username)

fmt.Println("-----------------------") + //get tweets and analyze words and dates tweets, _, _ := client.Timelines.UserTimeline(&twitter.UserTimelineParams{ ScreenName: username, Count: 200,

@@ -27,6 +29,13 @@ fmt.Println("word count")

analyzeWords(tweets) analyzeDates(tweets) + fmt.Println("") + fmt.Println("Devices:") + sources := analyzeSource(tweets) + for k, v := range sources { + fmt.Print(k + ": ") + fmt.Println(strconv.Itoa(v) + "tw ") + } fmt.Println(" ") fmt.Print("first tweet analyzed: ")
M main.go → main.go

@@ -11,7 +11,7 @@ const minNumWords = 3

func main() { fmt.Println("---------------") - fmt.Println("goTweetsAnalyze initialized") + fmt.Println("mgoTweetsAnalyze initialized") fmt.Println("Reading twitterConfig.json file") client := readConfigTokensAndConnect()