diff --git a/extract_comic.go b/extract_comic.go index ff52389..a5e2d68 100644 --- a/extract_comic.go +++ b/extract_comic.go @@ -105,7 +105,7 @@ func (e extractComic) findBestImage(a *Article) bool { eImgs.run(a) a.TopNode = nil - if a.Img != nil { + if a.Img != nil && a.Img.Sel != nil { return e.setImage(a, a.Img.Sel) } diff --git a/http.go b/http.go index 383111e..9938634 100644 --- a/http.go +++ b/http.go @@ -5,6 +5,8 @@ import ( "io" "net/http" "time" + + "golang.org/x/net/context" ) const ( @@ -18,7 +20,9 @@ var ( ) func httpGet(url string) (body io.ReadCloser, resp *http.Response, err error) { - req, err := http.NewRequest("GET", url, nil) + ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second) + defer cancel() + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) if err != nil { err = fmt.Errorf("could not create new request: %s", err) return