device source analysis

This commit is contained in:
arnaucode
2017-04-15 20:47:33 +02:00
parent ee7caca895
commit 8456427b32
6 changed files with 39 additions and 3 deletions

View File

@@ -1,6 +1,13 @@
# goTweetsAnalyze # 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") ![Alt text](https://raw.githubusercontent.com/arnaucode/goTweetsAnalyze/master/screen3.png "screen")
@@ -24,4 +31,4 @@ to run it:
``` ```
./goTweetsAnalyze ./goTweetsAnalyze
``` ```
- follow the instructions - follow the instructions that appears on the terminal

20
analyzeSource.go Normal file
View File

@@ -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)
}

Binary file not shown.

View File

@@ -4,6 +4,7 @@ import (
"bufio" "bufio"
"fmt" "fmt"
"os" "os"
"strconv"
"strings" "strings"
"github.com/dghubble/go-twitter/twitter" "github.com/dghubble/go-twitter/twitter"
@@ -18,6 +19,7 @@ func getUser(client *twitter.Client) {
fmt.Println("-----------------------") fmt.Println("-----------------------")
//get tweets and analyze words and dates
tweets, _, _ := client.Timelines.UserTimeline(&twitter.UserTimelineParams{ tweets, _, _ := client.Timelines.UserTimeline(&twitter.UserTimelineParams{
ScreenName: username, ScreenName: username,
Count: 200, Count: 200,
@@ -27,6 +29,13 @@ func getUser(client *twitter.Client) {
analyzeWords(tweets) analyzeWords(tweets)
analyzeDates(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.Println(" ")
fmt.Print("first tweet analyzed: ") fmt.Print("first tweet analyzed: ")

View File

@@ -11,7 +11,7 @@ const minNumWords = 3
func main() { func main() {
fmt.Println("---------------") fmt.Println("---------------")
fmt.Println("goTweetsAnalyze initialized") fmt.Println("mgoTweetsAnalyze initialized")
fmt.Println("Reading twitterConfig.json file") fmt.Println("Reading twitterConfig.json file")
client := readConfigTokensAndConnect() client := readConfigTokensAndConnect()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB