device source analysis
arnaucode idoctnef@openmailbox.org
Sat, 15 Apr 2017 20:47:33 +0200
6 files changed,
39 insertions(+),
3 deletions(-)
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 @@ -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: ")