先贴上代码
//批量获取雅虎股票数据。
package main
import (
"bufio"
"fmt"
"io"
"net/http"
"net/url"
"os"
"runtime"
"strconv"
"strings"
)
const (
UA = "Golang Downloader from Ijibu.com"
)
func main() {
runtime.GOMAXPROCS(runtime.NumCPU()) //设置cpu的核的数量,从而实现高并发
c := make(chan bool)
fh, ferr := os.Open("./shang.ini") //上证里面的所有股票代码,每一行就是一个股票代码。
if ferr != nil {
return
}
defer fh.Close()
inputread := bufio.NewReader(fh)
for i := 0; i < 1162; i++ {
input, _ := inputread.ReadString('\n')
go getShangTickerTables(c, i, strings.TrimSpace(input))
}
<-c
fmt.Println("main ok")
}
func getShangTickerTables(c chan bool, n int, code string) {
fileName := "./data/sh/" + code + ".csv"
f, err := os.OpenFile(fileName, os.O_CREATE, 0666) //其实这里的 O_