使用goquery抓取天气的demo。数据量有点多。目前按省份存储天气数据。存储到csv文件中。
package main
import (
"code.google.com/p/mahonia"
"encoding/csv"
"fmt"
"github.com/PuerkitoBio/goquery"
"net/http"
"os"
"strings"
"time"
)
var log = loger.Loger{
Level: loger.DEBUG,
}
const (
YEAR = 2013
SleepTime = 100 //毫秒
)
func main() {
sc, cc := GetCity()
var weatherInfoAll []*WeaterInfo
for key, value := range sc {
filePath := fmt.Sprintf("%d%s.csv", YEAR, key)
_, err := os.Stat(filePath)
if err == nil {
continue
}
weatherInfoAll = make([]*WeaterInfo, 0, 100000)
for _, city := range value {
name := cc[city]
log.Debug("get ", key, city)
client := &http.Client{}
weatherInfoYear := GetWeather(client, key, city