用 Go 编写的 Twitter 收藏家
以下内容可以保存为 main.go. 更新 EDITME 设置并构建可执行文件后,它可以用作连续的外部收集器。
package main
import (
"fmt"
"log"
"net/url"
"strconv"
"time"
"github.com/ChimeraCoder/anaconda"
)
func main() {
anaconda.SetConsumerKey("EDITME")
anaconda.SetConsumerSecret("EDITME")
api := anaconda.NewTwitterApi("EDITME", "EDITME")
v := url.Values{}
sr, err := api.GetSearch("stackoverflow", nil)
if err != nil {
log.Println(err)
}
var since_id int64 = 0
for _, tweet := range sr {
if tweet.Id > since_id {
since_id = tweet.Id
}
}
count := 0
for {
now := time.Now().Unix()
v.Set("result_type", "recent")
v.Set("since_id", strconv.FormatInt(since_id, 10))
sr, err := api.GetSearch("stackoverflow", nil)
if err != nil {
log.Println(err)
}
for _, tweet := range sr {
if tweet.Id > since_id {
count += 1
since_id = tweet.Id
}
}
fmt.Println("twitter.tweet_count", now, count, "query=stackoverflow")
time.Sleep(time.Second * 30)
}
}