之前爬虫用python写总是出问题,于是换成了Go来写,大致内容如下:
for ;next_url != first_url; {
count += 1
strBody = getContent(next_url)
re = regexp.MustCompile("photos-view-id-\\d+.html")
next_url = getNextUrl(strBody)
re = regexp.MustCompile("http://xxxx/data/[^\"]+")
pic_url = re.FindAllString(strBody, 2)[1]
filename = fmt.Sprintf("%03d.jpg", count)
go downloadFromUrl(pic_url, save_path + filename)
}
但是这样会有一个问题就是我的downloadFromUrl还没执行完成时,程序已经退出了,导致最后几个文件未下载成功。有什么方法可以等待操作完成之后退出程序的么?
参考 @方泽图 的回复,实现方式如下: