2016-05-09 2 views
-1

Я пытаюсь сделать веб-скребок, используя go. Я построил этот код. Он был построен отлично без каких-либо ошибок. Но его двоичный код не будет выполняться.Это строит хорошо. Почему этот код не выполняется?

Это проблема с большим количеством подпрограмм или этих переменных в функции execute?

package main 

import (
    "io/ioutil" 
    "net/http" 
    //"regexp" 
) 

func excuter(count int) { 

    adrr := string("http://torhit.com/torbite/?page=" + string(count)) 

    resp, _ := http.Get(adrr) 
    bytes, _ := ioutil.ReadAll(resp.Body) 

    ioutil.WriteFile("scrap.txt"+string(count), bytes, 0777) 

    resp.Body.Close() 
} 
func main() { 
    //re := regexp.MustCompile("") 
    count := 1 
    maxcount := 200 
    for ; count <= maxcount; count++ { 
     go excuter(count) 

    } 
} 

    package main 

import (
    "io/ioutil" 
    "net/http" 
    //"regexp" 
) 

func excuter(count int) { 

    adrr := string("http://torhit.com/torbite/?page=" + string(count)) 

    resp, _ := http.Get(adrr) 
    bytes, _ := ioutil.ReadAll(resp.Body) 

    ioutil.WriteFile("scrap.txt"+string(count), bytes, 0777) 

    resp.Body.Close() 
} 
func main() { 
    //re := regexp.MustCompile("") 
    count := 1 
    maxcount := 200 
    for ; count <= maxcount; count++ { 
     go excuter(count) 

    } 
} 
+2

Просто потому, что программа строит не означает, что она работает. Ошибки времени выполнения являются обычным явлением в реальных программных приложениях, а в вашем коде игнорируется каждая возвращенная ошибка. Вместо того, чтобы делать 'val, _: =' всюду, do 'val, err: =', а затем следовать ему с ошибкой 'if err! = Nil' и печатать/записывать ошибки. Как бы то ни было, никто не может вам помочь, потому что вам нечего делать. – evanmcdonnal

+0

ok @evanmcdonnal thanx –

ответ

3

Может быть, ваша ошибка, пришедшая из этого:

string(count) 

Он будет составлена, но результат пуст. Если вы хотите преобразовать int в строку, вам понадобится пакет strconv.

strconv.Itoa(count) 

Или

strconv.FormatInt(int64(count), 10)