Go语言中文网,致力于每日分享编码、开源等知识,欢迎关注我,会有意想不到的收获!

最近发现知乎上感兴趣的问题越来越少,于是准备聚合下其他平台技术问答,比如 segmentfault、stackoverflow 等。

要完成这个工作,肯定是离不开爬虫的。我就顺便抽时间研究了 Go 的一款爬虫框架 colly。

概要介绍

colly 是 Go 实现的比较有名的一款爬虫框架,而且 Go 在高并发和分布式场景的优势也正是爬虫技术所需要的。它的主要特点是轻量、快速,设计非常优雅,并且分布式的支持也非常简单,易于扩展。

如何学习

爬虫最有名的框架应该就是 Python 的 scrapy,很多人最早接触的爬虫框架就是它,我也不例外。它的文档非常齐全,扩展组件也很丰富。当我们要设计一款爬虫框架时,常会参考它的设计。之前看到一些文章介绍 Go 中也有类似 scrapy 的实现。

相比而言,colly 的学习资料就少的可怜了。刚看到它的时候,我总会情不自禁想借鉴我的 scrapy 使用经验,但结果发现这种生搬硬套并不可行。

到此,我们自然地想到去找些文章阅读,但结果是 colly 相关文章确实有点少,能找到的基本都是官方提供的,而且看起来似乎不是那么完善。没办法,慢慢啃吧!官方的学习资料通常都会有三处,分别是文档、案例和源码。

今天,暂时先从官方文档角度吧!正文开始。

官方文档

官方文档介绍着重使用方法,如果是有爬虫经验的朋友,扫完一遍文档很快。我花了点时间将官网文档的按自己的思路整理了一版。

主体内容不多,涉及安装、快速开始、如何配置、调试、分布式爬虫、存储、运用多收集器、配置优化、扩展。

其中的每篇文档都很短小,甚至是少的基本都不用翻页滚动。

如何安装

colly 的安装和其他的 Go 库安装一样简单。如下:

go get -u github.com/gocolly/colly

一行命令搞定。So easy!

快速开始

我们来通过一个 hello word 案例快速体验下 colly 的使用。步骤如下:

第一步,导入 colly。

import "github.com/gocolly/colly"

第二步,创建 collector。

c := colly.NewCollector()

第三步,事件监听,通过 callback 执行事件处理。

// Find and visit all linksc.OnHTML("a[href]

爬虫如何监听插件_Go 爬虫之 colly 从入门到不放弃指南相关推荐

  1. 爬虫如何监听插件_NodeJS概述2-事件插件-简易爬虫

    事件 events 模块 原生事件写法 /* * 1. 事件分类 * DOM0级 事件 - on + eventType * DOM2级 事件 - 事件监听 * 2. 事件构成部分有哪些? dom.o ...

  2. Go 爬虫之 colly 从入门到不放弃指南

    最近发现知乎上感兴趣的问题越来越少,于是准备聚合下其他平台技术问答,比如 segmentfault.stackoverflow 等. 要完成这个工作,肯定是离不开爬虫的.我就顺便抽时间研究了 Go 的 ...

  3. 监听js变量的变化_JS监听事件型爬虫

    点击上方"Python数据科学",选择"星标公众号" 关键时刻,第一时间送达! 作者:zuobangbang 来源:zuobangbang 最近开始研究网页参数 ...

  4. Bootstrap3 滚动监听插件的事件

    滚动监听插件的事件 Bootstrap为滚动监听插件提供了一个事件 activate.bs.scrollspy,每当一个新的导航项目被激活时,就会触发该事件,并自动为导航条的相应菜单项添加了一个 .a ...

  5. Bootstrap3 滚动监听插件的方法

    滚动监听插件的方法 通过 JavaScript 调用滚动监控插件时,如果监听对象的DOM节点有增删元素的操作,则需要调用 .scrollspy('refresh') 方法来更新DOM. <scr ...

  6. Bootstrap3 滚动监听插件的选项

    滚动监听插件的选项 Bootstrap为滚动监听插件提供了一个选项 offset,用来调整滚动位置距顶部偏移的像素值,取值为数字,默认值为10.正值表示滚动条向上偏移,负值表示向下偏移. offset ...

  7. Bootstrap3 滚动监听插件的调用方式

    滚动监听插件的调用方式 无论何种实现方式,滚动监听都需要被监听的组件是position: relative;即相对定位方式.大多数时候是监听<body>元素. 1.data属性调用 只需给 ...

  8. Bootstrap 滚动监听插件Scrollspy 的事件

    事件 Bootstrap滚动监听插件Scrollspy提供了一个事件 activate,每当一个新的导航项目被激活时,就会触发该事件,并自动为导航条的相应菜单项添加了一个 .active 类,让它高亮 ...

  9. Bootstrap 滚动监听插件Scrollspy 的选项

    选项 Bootstrap滚动监听插件Scrollspy提供了一个选项 offset,用来调整滚动位置距顶部偏移的像素值,取值为数字,默认值为10.正值表示滚动条向上偏移,负值表示向下偏移. 所有的选项 ...

最新文章

  1. 处理python中的无类型变量的方法
  2. 新手对于iPhone开发环境等入门问题解答汇总
  3. byte数组转file不写入磁盘_Linux 环境写文件如何稳定跑满磁盘 I/O 带宽?
  4. C/C++中输入带空格的字符串 string 转 char*
  5. linux c进程和线程脑图,进程和线程
  6. 史上最牛的文科生:法学出身,却发明出十进制计算器,折磨无数人的微积分符号,跨界40多个领域惊艳学术圈
  7. leetcode45. 跳跃游戏 II
  8. 从零开始学习ASP.NET MVC 入门
  9. 树莓派zero+mysql_关于树莓派zero的系统安装配置部署
  10. 想学新的编程语言?考虑下 Go 吧!
  11. mac 使用 pf 做端口转发
  12. Swift 3: let sortedNumbers = numbers.sort { $0 $1 } print(sortedNumbers) 结果显示为()
  13. CSS3新属性:在网站中使用访客电脑里没有安装的字体
  14. How Tomcat Works读书笔记之升级架构
  15. 2016年中国OTT盒子行业市场现状及发展前景分析
  16. 中基鸿业人人都要懂的投资理财常识
  17. Adobe Photoshop CC2014 安装过程
  18. 设置两个路由器无线桥接
  19. 删除MacOS的升级文件
  20. 获奖结果公布|2020腾讯犀牛鸟云开发校园技术布道师养成计划

热门文章

  1. Elixir 初尝试 5 -- 遇见Actor
  2. Setuptool+pip安装
  3. Nodejs微信开发
  4. 【JSP笔记】第三章 JSP内置对象【上】
  5. 仿美团实现地域选择和城市列表
  6. html调用servlet(JDBC在Servlet中的使用)(2)
  7. 发布一个http请求封装类
  8. 数字图像处理 python_5使用Python处理数字的高级操作
  9. 计算机英文版个人简历发文,计算机个人简历英文_英文简历.doc
  10. K-Means聚类算法思想及实现