Browse Source

device source analysis

master
arnaucode 7 years ago
parent
commit
8456427b32
6 changed files with 39 additions and 3 deletions
  1. +9
    -2
      README.md
  2. +20
    -0
      analyzeSource.go
  3. BIN
      build/goTweetsAnalyze
  4. +9
    -0
      getUser.go
  5. +1
    -1
      main.go
  6. BIN
      screen1.png

+ 9
- 2
README.md

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

BIN
build/goTweetsAnalyze


+ 9
- 0
getUser.go

@ -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: ")

+ 1
- 1
main.go

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

BIN
screen1.png

Before After
Width: 521  |  Height: 969  |  Size: 44 KiB

Loading…
Cancel
Save