golang
文章平均质量分 83
99zhenzhen
做个有意思的程序员
展开
-
golang 爬虫实现(一)
一、开发环境1、原创 2016-05-25 16:15:58 · 3706 阅读 · 2 评论 -
golang select
golang的select与channel配合使用。它用于等待一个或者多个channel的输出。应用场景:主goroutine等待子goroutine完成,但是子goroutine无限运行,导致主goroutine会一直等待下去。而主线程想假如超过了一定的时没有返回的话,进行超时判断然后继续运行下去。package mainimport ( "time" "fmt")var转载 2016-05-27 11:30:49 · 1327 阅读 · 0 评论 -
GoLang之协程
原文地址:http://studygolang.com/articles/3098目前,WebServer几种主流的并发模型:多线程,每个线程一次处理一个请求,在当前请求处理完成之前不会接收其它请求;但在高并发环境下,多线程的开销比较大;基于回调的异步IO,如Nginx服务器使用的epoll模型,这种模式通过事件驱动的方式使用异步IO,使服务器持续运转,但人的思维模式是串行的,大量转载 2016-05-27 12:03:07 · 977 阅读 · 0 评论 -
golang 爬虫(二)
通用的爬虫原理示意图:具体实现过程:1、开一个协程从待抓取url中获取url,进行网页获取,网页解析,然后入库;2、开另一个协程从已抓取url中获取url,进行获取其他url并且放入待抓取url队列中;网页解析在golang中,解析网页有几个比较好用的第三方库。比如:github.com/opesun/goquery,github.com/PuerkitoBio/g原创 2016-05-27 14:18:17 · 1703 阅读 · 0 评论