https://developer.twitter.com/
https://towardsdatascience.com/access-data-from-twitter-api-using-r-and-or-python-b8ac342d3efe
https://www.rdocumentation.org/packages/twitteR/versions/1.1.9
##Autoriser Twitter
#install.packages("twitteR")
library(twitteR)
consumer_key <- "GwiLmjvz8mJ7j6Dk2SOFAg"
consumer_secret <-"85zZSIhiczzvR8nhi8Fr6F3J6vOAXR7K2hSab6Rf5c"
access_token <- "16668912-wtpsnOvDo22qJV3fM2BcyJJ2hIrlrbbgUV7c1yh2z"
access_secret <- "jW5KOvzXtpVX5lolIP6T310lo6CKDIodcQXYObTfzoLXg"
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)
## [1] "Using direct authentication"
tw <- searchTwitter('@politivest', n = 25)
politi <- twListToDF(tw)
head(politi)
## text
## 1 @politivest Hjelp, ikke straff<U+0001F49C>
## 2 @politivest Eg var bil nummer 3 nordfra. Det var den eneste grunnen til at det ikkje var eg som kræsjet. 200 meter med klink is i ein sving.
## 3 RT @politivest: Vegen er ryddet og patruljen avslutter. Trafikken går som normalt.
## 4 RT @politivest: Igangsatt manuell dirigering. Ingen id på de involverte så langt.
## 5 RT @politivest: #Lindåsvegen #Seim #Nordhordland kl 2306: Trafikkulykke fra Seim mot Hundvin. To personbiler. Airbager utløst. Så langt ikk…
## 6 RT @politivest: #Eikås #e39 #utrykningspolitiet\n\nLaserkontroll ved Eikås ungdomshus.\n\n2 forenkla forelegg - høyeste hastighet 89km/t i 70 s…
## favorited favoriteCount replyToSN created truncated
## 1 FALSE 0 politivest 2019-11-14 00:44:34 FALSE
## 2 FALSE 0 politivest 2019-11-14 00:43:37 FALSE
## 3 FALSE 0 <NA> 2019-11-14 00:41:54 FALSE
## 4 FALSE 0 <NA> 2019-11-14 00:41:53 FALSE
## 5 FALSE 0 <NA> 2019-11-14 00:41:48 FALSE
## 6 FALSE 0 <NA> 2019-11-13 22:33:44 FALSE
## replyToSID id replyToUID
## 1 1194767127485530113 1194778112099266562 916215618612973568
## 2 1194741752357412865 1194777874437414912 916215618612973568
## 3 <NA> 1194777441203556353 <NA>
## 4 <NA> 1194777435528683522 <NA>
## 5 <NA> 1194777414821384193 <NA>
## 6 <NA> 1194745186280189958 <NA>
## statusSource
## 1 <a href="http://twitter.com/download/iphone" rel="nofollow">Twitter for iPhone</a>
## 2 <a href="https://mobile.twitter.com" rel="nofollow">Twitter Web App</a>
## 3 <a href="http://twitter.com/download/android" rel="nofollow">Twitter for Android</a>
## 4 <a href="http://twitter.com/download/android" rel="nofollow">Twitter for Android</a>
## 5 <a href="http://twitter.com/download/android" rel="nofollow">Twitter for Android</a>
## 6 <a href="http://twitter.com/download/android" rel="nofollow">Twitter for Android</a>
## screenName retweetCount isRetweet retweeted longitude latitude
## 1 rutinert 0 FALSE FALSE NA NA
## 2 binglebeep 0 FALSE FALSE NA NA
## 3 Hondaebest 1 TRUE FALSE NA NA
## 4 Hondaebest 1 TRUE FALSE NA NA
## 5 Hondaebest 1 TRUE FALSE NA NA
## 6 Hondaebest 1 TRUE FALSE NA NA
politi <- userTimeline("politivest", n = 100)
politi <- twListToDF(politi)
head(politi)
## text
## 1 #Nattlandsveien Bergen kl 0223: Politipatrulje stanset kjøretøy etter vinglete kjøring. Bilfører (mann i 30-årene)… https://t.co/NdfH4YpCXs
## 2 #Vestretorggaten Bergen kl 0053: Truende person på Sentrum kebab. Trusler og ordensforstyrrelse mot betjening. Beru… https://t.co/GjxZB1cK5Z
## 3 #Damsgårdsveien Bergen kl 0024: Politiet tilkalt til #Straxhuset, grunnet slagsmål. Kontroll på en person (mann i 4… https://t.co/fcaf82QTnK
## 4 Vegen er ryddet og patruljen avslutter. Trafikken går som normalt.
## 5 Igangsatt manuell dirigering. Ingen id på de involverte så langt.
## 6 Totalt 3 personer involvert. To av dem er på veg til traumemottaket, Haukeland sykehus. Store materielle skader på begge bilene.
## favorited favoriteCount replyToSN created truncated
## 1 FALSE 4 <NA> 2019-11-14 02:06:36 TRUE
## 2 FALSE 0 <NA> 2019-11-14 00:54:37 TRUE
## 3 FALSE 1 <NA> 2019-11-14 00:00:55 TRUE
## 4 FALSE 0 politivest 2019-11-13 23:54:40 FALSE
## 5 FALSE 1 politivest 2019-11-13 23:11:43 FALSE
## 6 FALSE 1 politivest 2019-11-13 22:47:24 FALSE
## replyToSID id replyToUID
## 1 <NA> 1194798754920108032 <NA>
## 2 <NA> 1194780640643813378 <NA>
## 3 <NA> 1194767127485530113 <NA>
## 4 1194754743953960961 1194765552390148096 916215618612973568
## 5 1194748625966043136 1194754743953960961 916215618612973568
## 6 1194742989190574087 1194748625966043136 916215618612973568
## statusSource
## 1 <a href="https://mobile.twitter.com" rel="nofollow">Twitter Web App</a>
## 2 <a href="https://mobile.twitter.com" rel="nofollow">Twitter Web App</a>
## 3 <a href="https://mobile.twitter.com" rel="nofollow">Twitter Web App</a>
## 4 <a href="https://mobile.twitter.com" rel="nofollow">Twitter Web App</a>
## 5 <a href="https://mobile.twitter.com" rel="nofollow">Twitter Web App</a>
## 6 <a href="https://mobile.twitter.com" rel="nofollow">Twitter Web App</a>
## screenName retweetCount isRetweet retweeted longitude latitude
## 1 politivest 0 FALSE FALSE NA NA
## 2 politivest 0 FALSE FALSE NA NA
## 3 politivest 0 FALSE FALSE NA NA
## 4 politivest 1 FALSE FALSE NA NA
## 5 politivest 1 FALSE FALSE NA NA
## 6 politivest 0 FALSE FALSE NA NA
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.5.3
droppes <- c("favorited", "truncated", "replyToSID", "statusSource", "retweeted", "longitude", "latitude", "replyToUID", "retweetCount", "favoriteCount","replyToSN", "isRetweet")
politi <- politi[,!(names(politi) %in% droppes)]
head(politi)
## text
## 1 #Nattlandsveien Bergen kl 0223: Politipatrulje stanset kjøretøy etter vinglete kjøring. Bilfører (mann i 30-årene)… https://t.co/NdfH4YpCXs
## 2 #Vestretorggaten Bergen kl 0053: Truende person på Sentrum kebab. Trusler og ordensforstyrrelse mot betjening. Beru… https://t.co/GjxZB1cK5Z
## 3 #Damsgårdsveien Bergen kl 0024: Politiet tilkalt til #Straxhuset, grunnet slagsmål. Kontroll på en person (mann i 4… https://t.co/fcaf82QTnK
## 4 Vegen er ryddet og patruljen avslutter. Trafikken går som normalt.
## 5 Igangsatt manuell dirigering. Ingen id på de involverte så langt.
## 6 Totalt 3 personer involvert. To av dem er på veg til traumemottaket, Haukeland sykehus. Store materielle skader på begge bilene.
## created id screenName
## 1 2019-11-14 02:06:36 1194798754920108032 politivest
## 2 2019-11-14 00:54:37 1194780640643813378 politivest
## 3 2019-11-14 00:00:55 1194767127485530113 politivest
## 4 2019-11-13 23:54:40 1194765552390148096 politivest
## 5 2019-11-13 23:11:43 1194754743953960961 politivest
## 6 2019-11-13 22:47:24 1194748625966043136 politivest
politiplot <- ggplot(politi, aes(x=created, y=screenName)) + geom_point()
politiplot
politisør <- userTimeline("politietsorvest", n = 100)
politisør <- twListToDF(politisør)
politisør <- politisør[,!(names(politisør) %in% droppes)]
#Bind sammen de to søkene med rbind
allepoliti <- rbind(politi, politisør)
#Lag grafer som viser når tweets er blitt sendt
allepolitiplot <- ggplot(allepoliti, aes(x=created, y=screenName)) + geom_point()
allepolitiplot
sistedøgn <- subset(allepoliti, allepoliti$created > '2019-11-13 00:00:00')
sistedøgnplot <- ggplot(sistedøgn, aes(x=created, y=screenName)) + geom_point()
sistedøgnplot
sistedøgnvest <- subset(sistedøgn, sistedøgn$screenName == "politivest")
nrow(sistedøgnvest)
## [1] 21
natt <- subset(sistedøgn, sistedøgn$created < '2019-11-13 07:00:00')
nattplot <- ggplot(natt, aes(x=created, y=screenName)) + geom_point()
nattplot