随风
go语言有21世纪c语言的美誉,实际也表现出了极好的性质。go语言具有轻量级的协程goroutine,能轻而易举地实现数万并发。并且可以真正多核并行,充分利用cpu。语法明快,使用起来没有臃肿和历史包袱。标准库文档齐全而且极易阅读。
在爬虫领域,人们使用最多的当属python,python有数不清的爬虫库。以至于人们几乎把python等价成了爬虫专用。似乎人工智能和数据科学领域也如此。实际上,无论是人工智能还是爬虫,它们都是一种算法或者说是一种技术手段,使用什么语言其实影响并不大。
什么是爬虫?爬虫违法吗?爬虫用一句话来概括就是the website is the api。爬虫程序利用网络请求或者selium一样的模拟点击自动化测试工具来获取互联网上的海量信息。百度等搜索引擎其实也是这样做的,所以爬虫技术本身其实并不违法。但是造成了网站服务器崩溃以及其它恶劣影响事件则有可能会违法甚至犯罪。
go语言有强大的net库,本身带有cookiejar等组件,来保持会话,还有健壮的并发机制。对于海量信息的获取,go语言能够使用简单的算法就能获取极高的爬虫效率。而不需要像python scrapy 那样使用twisted以及队列模型,这极大的增加了编程的复杂性。至于chanel(管道),go语言更是原生支持。所以go语言在爬虫领域有着十分光明的前景。
go语言缺乏很好的大而全的爬虫框架,但是也有诸多工具,如goquery,colly,chromedv,运用这些工具我们已经足以完成一般的爬虫软件开发。当然纵观go语言领域,大而全的框架其实很少,更多的是轻量级框架如gin。也许是吸取了spring全家桶笨重的教训,即使是springboot,大大简化了配置,但是由于历史包袱原因,至今底层仍需要netty或者tomcat的支持,排错比较麻烦,对新手不那么友好。
爬虫学得好。。。,下面我就不说了,各位还是在尊重法律的基础上畅享爬虫带来的乐趣。