diff --git a/README.md b/README.md index b2da3e2..80e34ab 100644 --- a/README.md +++ b/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 @@ to run it: ``` ./goTweetsAnalyze ``` -- follow the instructions +- follow the instructions that appears on the terminal diff --git a/analyzeSource.go b/analyzeSource.go new file mode 100644 index 0000000..d65bb47 --- /dev/null +++ b/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) +} diff --git a/build/goTweetsAnalyze b/build/goTweetsAnalyze index 96cb71c..0a655b0 100755 Binary files a/build/goTweetsAnalyze and b/build/goTweetsAnalyze differ diff --git a/getUser.go b/getUser.go index c695067..9b721af 100644 --- a/getUser.go +++ b/getUser.go @@ -4,6 +4,7 @@ import ( "bufio" "fmt" "os" + "strconv" "strings" "github.com/dghubble/go-twitter/twitter" @@ -18,6 +19,7 @@ func getUser(client *twitter.Client) { fmt.Println("-----------------------") + //get tweets and analyze words and dates tweets, _, _ := client.Timelines.UserTimeline(&twitter.UserTimelineParams{ ScreenName: username, Count: 200, @@ -27,6 +29,13 @@ func getUser(client *twitter.Client) { 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: ") diff --git a/main.go b/main.go index 7e5dabd..2fe9047 100644 --- a/main.go +++ b/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() diff --git a/screen1.png b/screen1.png deleted file mode 100644 index 9f9d157..0000000 Binary files a/screen1.png and /dev/null differ