package main
import (
"net/http"
"io"
"fmt"
"regexp"
"os"
"strconv"
)
func get(url string) (re string,e error) {
resp,err:=http.Get(url)
if err!=nil {
e=err
return
}
defer resp.Body.Close()
m:=make([]byte,4096)
for {
n,err:=resp.Body.Read(m)
re+=string(m[:n])
if err!=nil {
if err==io.EOF {
break
} else {
e=err
return
}
}
}
return
}
func saveimage(url string,i int,page chan<- int) {
resp,err:=http.Get(url)
if err!=nil {
fmt.Print(err)
return
}
defer resp.Body.Close()
fp,err:=os.Create("/Users/zmx/img/"+strconv.Itoa(i)+".jpg")
if err!=nil {
fmt.Print(err)
return
}
defer fp.Close()
m:=make([]byte,4096)
for {
n,err:=resp.Body.Read(m)
fp.Write(m[:n])
if err!=nil {
if err==io.EOF {
break
} else {
fmt.Print(err)
return
}
}
}
page<-i
}
func main() {
str,err:=get("https://www.douyu.com/g_yz")
if err!=nil {
fmt.Print(err)
return
}
page:=make(chan int)
re:=regexp.MustCompile(`data-original="(?s:(.*?))"`)
data:=re.FindAllStringSubmatch(str,-1)
for i,item:=range data{
go saveimage(item[1],i,page)
}
for i:=0; i<len(data); i++ {
<-page
}
}
爬斗鱼颜值图片
猜你喜欢
转载自blog.csdn.net/baidu_25845567/article/details/82391128
今日推荐
周排行