看到有很多python的,然后写了个去的,可以抓取高清图片
, <强> getp.go 强>
代码如下:
包主要
导入(
,,“io/ioutil”
,,“日志”
,,"net/http”
,,“操作系统”
,,“正则表达式”
,,“strconv”
,,“弦”
,,“同步”
)
var urlist[4]字符串
var专辑陈字符串
var w同步。WaitGroup
var dir字符串
函数main () {
,,dir=" tmp/"
,,错:=操作系统。Mkdir (dir, 0777)
,,如果犯错!=nil {
,,,,,,isexist:=os.IsExist (err)
,,,,,,log.Println (isexist)
,,}
,,相册=使(陈字符串,200)
,,{urlist=[4]字符串" http://me2-sex.lofter.com/tag/%E7%BE%8E%E5%A5%B3%E6%91%84%E5%BD%B1& # 63;页面="," http://me2-sex.lofter.com/tag/%E6%AC%A7%E7%BE%8E& # 63;页面="," http://me2-sex.lofter.com/tag/%E6%A8%A1%E7%89%B9& # 63;页面="," http://me2-sex.lofter.com/tag/%E7%BE%8E%E5%AA%9B%E9%A6%86& # 63;页面="}
,,_,v:=范围urlist {
,,,,,,我:=1;我& lt;=20;我+ + {
,,,,,,,,,,url:=v + strconv.Itoa (i)
,,,,,,,,,,w.Add (1)
,,,,,,,,,,去GetAlbum (url)
,,,,,,,,,,w.Wait ()
,,,,,,}
,,}
}
func GetAlbum (url字符串){
,,数据:=GetUrl (url)
,,身体:=字符串(数据)
,,部分:=regexp.MustCompile (' & lt; class=" img " href=" https://www.yisu.com/zixun/(. *)”在“)
,,匹配:=indAllStringSubmatch(身体,1)
,,_,v:=范围匹配{
,,,,,,专辑& lt; - v [1]
,,,,,,w.Add (1)
,,,,,,GetItem ()
,,}
,,w.Done ()
}
func GetItem () {
,,url:=& lt; - album
,,推迟func () {
,,,,,,ret:=恢复()
,,,,,,如果受潮湿腐烂!=nil {
,,,,,,,,,,log.Println (ret)
,,,,,,,,,,w.Done ()
,,,,,,其他}{
,,,,,,,,,,w.Done ()
,,,,,,}
,,}()
,,数据:=GetUrl (url)
,,如果len(数据)比;10 {
,,,,,,身体:=字符串(数据)
,,,,,,部分:=regexp.MustCompile (' bigimgsrc=" https://www.yisu.com/zixun/(. *)”)
,,,,,,匹配:=indAllStringSubmatch(身体,1)
,,,,,,_,v:=范围匹配{
,,,,,,,,,,str:=字符串。分割(v [1],“/?
,,,,,,,,,,长度:len (str)=
,,,,,,,,,,来源:=GetUrl (v [1])
,,,,,,,,,,名称:=str(长度是1)
,,,,,,,,,,操作系统文件,犯错:=4唇?dir +名字)
,,,,,,,,,,如果犯错!=nil {
,,,,,,,,,,,,,,恐慌(err)
,,,,,,,,,,}
,,,,,,,,,,大小,犯错:=file.Write(源)
,,,,,,,,,,推迟file.Close ()
,,,,,,,,,,如果犯错!=nil {
,,,,,,,,,,,,,,恐慌(err)
,,,,,,,,,,}
,,,,,,,,,,log.Println(大小)
,,,,,,}
,,}
}
func GetUrl (url字符串)[]字节{
,,ret,犯错:=http.Get (url)
,,如果犯错!=nil {
,,,,,,null
null
null
null
null
null
null
null
null
null
null
null