Getting koscom web page data using go lang
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
"regexp"
"time"
)
func main() {
re, _ := regexp.Compile("KOSPI200.*</font>")
for {
now := time.Now()
fmt.Println(now)
res, err := http.Get("http://kosdb.koscom.co.kr/main/jisuticker.html")
if err != nil {
log.Fatal(err)
}
body, err := ioutil.ReadAll(res.Body)
if err != nil {
log.Fatal(err)
}
res.Body.Close()
sbody := string(body)
// dlist := string(re.ReplaceAll([]byte(sbody), []byte("")))
dlist := re.FindString(sbody)
fmt.Println(dlist)
if now.Hour() <= 8 || now.Hour() >= 15 {
fmt.Println()
for now.Hour() <= 8 || now.Hour() >= 15 {
time.Sleep(1 * time.Second)
now = time.Now()
}
} else {
time.Sleep(60 * time.Second)
}
}
}
locale-dependent string test:
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
"os"
"regexp"
"time"
)
func main() {
re, _ := regexp.Compile("KOSPI200.*</font>")
for {
now := time.Now()
fmt.Println(now)
res, err := http.Get("http://kosdb.koscom.co.kr/main/jisuticker.html")
if err != nil {
log.Fatal(err)
}
body, err := ioutil.ReadAll(res.Body)
if err != nil {
log.Fatal(err)
}
res.Body.Close()
q := re.Find(body)
fmt.Printf("%s\n", q)
os.Stdout.Write(q)
ioutil.WriteFile("foo.txt", q, 0) // ok
time.Sleep(60 * time.Second)
}
}
'My Computer Programs' 카테고리의 다른 글
(Windows) Clock (0) | 2012.08.24 |
---|---|
(python) triangle (0) | 2012.08.18 |
(Home App) Simple Home (0) | 2012.07.31 |
Javascript Interpreter (0) | 2012.07.28 |
(bash) triangle (0) | 2012.07.24 |