Go语言中文网 为您找到相关结果 97

爬虫框架go_spider

##简介## 本项目基于golang开发,是一个开放的垂直领域的爬虫引擎,主要希望能将各个功能模块区分开,方便使用者重新实现子模块,进而构建自己垂直方方向的爬虫。 本项目将爬虫的各个功能流程区分成Spider模块(主控),Downloader模块(下载器),PageProcesser模块(页面分析),Scheduler模块(任务队列),Pipeline模块(结果输出); ##执行过程简述:## 1. Spider从Scheduler中获取包含待抓取url的Request对象,启动一个协程,一个协程执行一次爬取过程,此处我们把协程也看成Spider,Spider把Request对象传入Downloader,Downloader下载该Request对象中url所对应的页面...阅读全文

重量级爬虫软件Pholcus

# pholcus [![GoDoc](https://godoc.org/github.com/tsuna/gohbase?status.png)](https://godoc.org/github.com/henrylee2cn/pholcus) [![GitHub release](https://img.shields.io/github/release/henrylee2cn/pholcus.svg)](https://github.com/henrylee2cn/pholcus/releases) Pholcus(幽灵蛛)是一款纯Go语言编写的高并发、分布式、重量级爬虫软件,支持单机、服务端、客户端三种运行模式,拥有Web、GUI、命令行三种操作界面;规则简单灵活、批...阅读全文

Go 开发的 IM 和推送服务 goim

goim 是一个支持集群的im及实时推送服务(支持websocket,http和tcp协议) 特性: * 轻量级 * 高性能 * 纯Golang实现 * 支持单个、多个以及广播消息推送 * 支持单个Key多个订阅者(可限制订阅者最大人数) * 心跳支持(应用心跳和tcp、keepalive、http log pulling) * 支持安全验证(未授权用户不能订阅) * 多协议支持(websocket,tcp,http) * 可拓扑的架构(job、logic模块可动态无限扩展) * 基于Kafka做异步消息推送 架构: ![image](http://static.oschina.net/uploads/img/201511/26172127_SpSJ.png) 协...阅读全文

开源项目 2015-11-25 16:00:00 Terry-Mao

Golang练手小项目系列

本系列整理了10个工作量和难度适中的Golang小项目,适合已经掌握Go语法的工程师进一步熟练语法和常用库的用法。golang练手小项目系列(1)-位向量golang练手小项目系列(2)-并发爬虫golang练手小项目系列(3)-并发读取文件夹信息golang练手小项目系列(4)-网络聊天室golang练手小项目系列(5)-并发无阻塞缓...阅读全文

博文 2019-06-29 01:32:41 李说的对

使用Go语言(golang)写个简单的爬虫

上次用Scala写了个爬虫。最近在闲工夫之时,学习Go语言,便用Go移植了那个用Scala写的爬虫,代码如下: package main import ( "fmt" "io/ioutil" "net/http" "regexp" ) var ( ptnIndexItem = regexp.MustCompile(`< atarget="_blank" href="(.+\.html)" title=".+" >(.+)`) ptnContentRough = regexp.MustCompile(`(?s).*

(.*)
.*`) ptnBrTag = regexp.MustCompile(`
`...阅读全文

博文 2014-10-04 19:26:05 tt-0411

Python数据爬虫怎么学?python入门教程

现行环境下大数据与人工智能的重要依托还是庞大的数据和分析采集,就如淘宝、京东、百度、腾讯级别的企业能够通过数据可观的用户群体获取需要的数据。而一般企业可能就没有这种通过产品获取数据的能力和条件。因此,利用爬虫,我们可以解决部分数据问题,那么,如何学习Python数据爬虫能? **1. 学习Python基础知识并实现基本的爬虫过程** 一般获取数据的过程都是按照 发送请求-获得页面反馈-解析并且存储数据 这三个流程来实现的。这个过程其实就是模拟了一个人工浏览网页的过程。 Python中爬虫相关的包很多:urllib、requests、bs4、scrapy、pyspider 等,我们可以按照requests 负责连接网站,返回网页,Xpath 用于解析网页,便于抽取数据。 ...阅读全文

Python爬虫相关的基础有哪些?Python学习

现行环境下,大数据与人工智能的重要依托还是庞大的数据和分析采集,类似于淘宝 京东 百度 腾讯级别的企业 能够通过数据可观的用户群体获取需要的数据,而一般企业可能就没有这种通过产品获取数据的能力和条件,想从事这方面的工作,需掌握以下知识: 1. 学习Python基础知识并实现基本的爬虫过程 一般获取数据的过程都是按照 发送请求-获得页面反馈-解析并且存储数据 这三个流程来实现的。这个过程其实就是模拟了一个人工浏览网页的过程。 Python中爬虫相关的包很多:urllib、requests、bs4、scrapy、pyspider 等,我们可以按照requests 负责连接网站,返回网页,Xpath 用于解析网页,便于抽取数据。 2.了解非结构化数据的存储 爬虫抓取的数据结构复杂 传统的结构化数据...阅读全文

博文 2019-11-19 16:00:32 zhouzhou2018

分布式爬虫ants

### 由来 一直用[scrapy](https://github.com/scrapy/scrapy)抓数据,scrapy的分布式部署,需要⼈人⼯工分配抓取链接。 所以参考scrapy的爬⾍虫架构和[elasticsearch](https://github.com/elastic/elasticsearch)的分布式架构。 编写了分布式的爬⾍虫[ants](https://github.com/wcong/ants-go), 目前是alpha,欢迎大家来试用 ### 功能 * 分布式:master分配request给各个node,node将抓取的结果,产⽣生的新request返回给master node * web api:提供json格式的web api,开...阅读全文

开源项目 2015-03-22 09:08:47

Go BT种子爬虫

主要实现了BitTorrent DHT协议。爬虫的原理是利用DHT协议监听announce_peer消息,然后根据获得的metada info 下载种子。 你可以用来打造你的海盗湾,也可以进行数据分析。不过要注意版权和被墙的风险,因为里边包含很多限制级资源,比如色情资源。 Github:https://github.com/shiyanhui/dht 这个是利用这个库做的一个BT search engine: http://bthub.io...阅读全文

Golang 网络爬虫框架gocolly/colly 四

Golang 网络爬虫框架gocolly/colly 四 爬虫靠演技,表演得越像浏览器,抓取数据越容易,这是我多年爬虫经验的感悟。回顾下个人的爬虫经历,共分三个阶段:第一阶段,09年左右开始接触爬虫,那时由于项目需要,要访问各大国际社交网站,Facebook,myspace,filcker,youtube等等,国际上叫得上名字的社交网站都爬过,大部分网站提供restful api,有些功能没有api,就只能用http抓包工具分析协议,自己爬;国内的优酷、土豆、校内网、web版qq、网页邮箱等等也都爬过;那时候先用C#写demo,项目是C++的,所以还要转换成托管C++的代码。第一阶段的主要心得是cookie管理,比较难搞的cookie就借助于webbrowser控件。 第二阶段是13年左右,...阅读全文

博文 2018-01-10 16:30:03 majianguo

golang 用/x/net/html写的小爬虫,爬小说

平时除了写代码,唯一的娱乐就是看看小说,放松一下大脑了。但在这个网站广告铺天盖地的环境下,想单纯的看会小说也成了一个问题了。最近在学习golang,于是就想写一个小爬虫,把小说爬下来看而不用看到讨厌的广告了。网上大多数教程都是用第三方库,很多都是用github.com/PuerkitoBio/goquery这个库,但因为从来没写过web,对jquery的语法完全是空白,而go语言圣经上的示例用到x/net/html这个google自己维护的库来爬网站的链接,于是研究了一下这个库,写了一个小爬虫,事实证明这个库写爬虫完全没问题,只不过比goquery麻烦一点,毕竟goquery是在这个库的基础上封装的,这个库更底层一点。特写下这往篇日记,记心太烂,怕过一段时间又忘了。经过这几天恶补了一下htm...阅读全文

博文 2017-08-22 10:05:01 neo_5687

go语言 grequests+goquery 简单爬虫,使用多协程并发爬取

/*下载工具*/ package main import ( "fmt" //go语言版本的jquery "github.com/PuerkitoBio/goquery" "os" "sync" "strings" //go语言版本的request "github.com/levigross/grequests" "time" "strconv" ) var wg sync.WaitGroup func main() { now := time.Now() initalUrls := []string{"http://www.zngirls.com/girl/18071/album/", } for _, url := range initalUrls { doc, err := goque...阅读全文

博文 2016-10-26 01:00:02 davidsu33

土拨鼠高级封装爬虫包GoSpider

![image](https://raw.githubusercontent.com/hunterhug/GoSpider/master/tubo.png) 万维网网络机器人,又称蜘蛛,爬虫,原理主要是通过构造符合HTTP协议的网络数据包,向指定主机请求资源,获取返回的数据.万维网有大量的公开信息,人力采集数据费时费力,故激发了爬虫的产业化. 批量获取公开网络数据并不违反,但由于无差别性,无节制,十分暴力的手段会导致对方服务的不稳定,因此,大部分资源提供商对数据包进行了某些过滤,在此背景下,小批量数据获取成为了难题. 综合各种需求,如各种API对接,自动化测试等原理均一样,故开发了此爬虫库. 土拨鼠爬虫库是一个人类友好姿势的代码库,开发采用面向对象的方式,易于理解.通过对Golang...阅读全文

开源项目 2017-07-04 11:00:08 网友

使用chromedp解决反爬虫问题

前言最近We川大上的教务处公告新闻已经很久没有更新了,想到可能是ip被封了,查了一下log,发现并不是,而是获取到的页面全变成了混淆过的js,下面放两个格式化的函数 1234567891011121314151617181920212223242526272829function _$Es(_$Cu) { _$Cu[14] = _$v9(); _$Cu[_$yf(_$ox(), 16)] = _$Dn(); var _$cR = _$CR(); _$cR = _$iT(); return _$DA();}function _$Dk(_$Cu) { var _$x5 = _$Dv(); var _$x5 = _$EB(); if (_$Ex()) { _$w9 = _$Dw(); } _$Cu...阅读全文

博文 2019-06-25 14:05:45 Mohuishou

【Go语言实战】字符编码GBK、UTF8转换

近期计划开发一个小说阅读APP,本意是学习golang开发,以及爬虫设计。 一般规范些的站点,会采用utf-8编码开发运行在浏览器上。然而,在我抓取的某些网站,却是采用的GBK编码,因此,在解析dom后,获取中文内容的时候,总是会出现一些编码问题,导致我并不能确认,解析到的内容,是不是就是我想要的,我期望的。 为了解决这个问题,我面向百度,面向goole编程,最终找到了一个可靠的解决办法,即goole的text库(golang.org/x/text),并把对应的方法做了简单的封装。 // transform GBK bytes to UTF-8 bytes func GbkToUtf8(str []byte) (b []byte, err error) { r := transform.Ne...阅读全文

博文 2019-05-20 18:34:41 故不忧_y

Go开发的分布式爬虫框架 - yispider

yispider是一款分布式爬虫平台,帮助你更好的管理和开发爬虫。 内置一套爬虫定义规则(模版),可使用模版快速定义爬虫,也可当作框架手动开发爬虫 项目地址: https://github.com/2young2simple/yispider ## 架构 目前框架分为2个部分: #### 1.爬虫部分(spider节点): 内部结构参考python scrapy框架,主要由 schedule,page process,pipline 4个部分组成,单个爬虫单独调度器,单独上下文管理,目前内置2中pipline的方式,控制台和文件,节点信息注册在etcd上用于manage节点发现。 * `core`:负责爬虫生命周期、上下文的管理,负责爬虫的运行。 ...阅读全文

golang sql根据struct字段来生成记录

/* Author : tuxpy Email : q8886888@qq.com.com Create time : 2017-11-04 23:13:08 Filename : main.go Description : */ package main import ( "database/sql" "errors" "fmt" "reflect" "time" "utils" _ "github.com/mattn/go-sqlite3" ) func ToStruct(rows *sql.Rows, to interface{}) error { v := reflect.ValueOf(to) if v.Elem().Type().Kind() != reflect.Struct ...阅读全文

博文 2017-11-04 17:03:16 疯狂的小企鹅

如何用go语言来转换c语言的结构体到go的结构体

在和c和c++客户端做网络通信的时候,为了方便,经常以结构体作为通信的参数 我们需要将c中的结构体直接转换到go中的结构体中。 在c语言中的结构体实例如下 注意要以1字节对齐。 #pragma pack(push) // 将当前pack设置压栈保存 #pragma pack(1)// 必须在结构体定义之前使用 typedef struct { unsigned short dev_id; unsigned char dir; unsigned char cmd; unsigned char oper; unsigned short len; }Msg_Head; typedef struct...阅读全文

垂直领域爬虫框架go_spider

本项目基于golang开发,是一个开放的垂直领域的爬虫引擎,主要希望能将各个功能模块区分开,方便使用者重新实现子模块,进而构建自己垂直方方向的爬虫。 本项目将爬虫的各个功能流程区分成Spider模块(主控),Downloader模块(下载器),PageProcesser模块(页面分析),Scheduler模块(任务队列),Pipeline模块(结果输出); ![enter image description here][1] [1]: https://github.com/hu17889/doc/raw/master/go_spider/img/project.pn...阅读全文

轻量级的嵌入式网站讨论系统commento

Commento 是一个轻量级的嵌入式网站讨论系统。您可以将其嵌入到您的博客,新闻文章以及您希望读者添加评论的任何地方。这是轻量级和简单的,可以快速页面加载。重点是还关乎隐私,评论引擎都关乎隐私。 如果你想使用Commento,你有三个选择: 1.使用Docker 如果你正在关闭自我托管路由,建议使用Docker运行Commento。为此提供了一个最小的Docker镜像[`adtac/commento`](https://hub.docker.com/r/adtac/commento/)。您可以通过拉取图像并启动它来获取容器: 端口上将显示您的机器上的服务器`80`; 把你的Commento前端配置指向这个。 2.使用二进制版本 如果你不想安装整个Docker,你可以简单地使...阅读全文

开源项目 2018-01-25 16:30:01 网友

Python爬虫实战丨高能预警,抖音小姐姐视频集来了!

前言前方高能预警!抖音小姐姐视频集来了! 总感觉抖音小姐姐连一个手势都能擦出不一样的火花,她们有一千种模样,我就有一万种喜欢,没有看够怎么办?!如果你感觉学不会?莫慌,小编推荐大家加入群,前面960中间410后面445,群里有志同道合的小伙伴,互帮互助,还可以拿到许多视频教程!双十二福利来了!这次Python爬虫实战篇,爬的就是当下大火的抖音小姐姐视频。问我pick哪位小姐姐,当然是唱歌老跑调,跳舞数拍子的杨超越了。本文主要讲解:抖音视频爬虫视频下载抖音视频爬虫抖音使用的智能推荐机制。我们这里依旧是通过fiddler抓包(Fiddler是一款常见的抓包分析工具,对数据进行截获、重发、编辑、转存的过程叫做抓包)。现在的抖音有加密算法,之前网上的大部分代码都不能用了,我们先看看有哪些加密字段。h...阅读全文

博文 2018-12-12 14:34:49 长情且温柔

网络爬虫框架Antch

Antch, 是快速的,强大的,可扩展的爬虫框架,类似于[Scrapy](https://github.com/scrapy/scrapy)。 * 支持robots.txt * 支持自定义模块 * 支持Item管道处理 * 支持多种代理协议(socks5,http,https) * 支持XPath查询HTML/XML数据 * 做为框架,易于上手 阅读全文

开源项目 2017-12-13 03:39:37

Go开发的分布式爬虫框架yispider

yispider 是一款分布式爬虫平台,帮助你更好的管理和开发爬虫。 内置一套爬虫定义规则(模版),可使用模版快速定义爬虫,也可当作框架手动开发爬虫 码云地址:https://gitee.com/bilibala/YiSpider github地址:https://github.com/2young2simple/yispider ## 架构 目前框架分为2个部分: #### 1.爬虫部分(spider节点): 内部结构参考python scrapy框架,主要由 schedule,page process,pipline 4个部分组成,单个爬虫单独调度器,单独上下文管理,目前内置2中pipline的方式,控制台和文件,节点信息注册在etcd上用于...阅读全文

如何快速搭建实用的爬虫管理平台

本次篇文章内容较多,涉及知识较广,读完需要大约 20 分钟,请读者耐心阅读。 前言 大多数企业都离不开爬虫,爬虫是获取数据的一种有效方式。对搜索引擎来说,爬虫不可或缺;对舆情公司来说,爬虫是基础;对 NLP来说,爬虫可以获取语料;对初创公司来说,爬虫可以获取初始内容。但是爬虫技术纷繁复杂,不同类型的抓取场景会运用到不同的技术。例如,简单的静态页面可以用 HTTP 请求+HTML 解析器直接搞定;一个动态页面需要用 Puppeteer 或 Selenium等自动化测试工具;有反爬的网站需要用到代理、打码等技术;等等。因此,对爬虫有规模量级要求的企业或个人需要同时处理不同类别的爬虫,这会凭空增添很多附加的管理成本。同时,爬虫管理者还需要应对网站内容变更、持续增量抓取、任务失败等问题。因此一个成熟...阅读全文

博文 2019-08-13 19:32:47 MarvinZhang

Go 实现的轻量级的 config 库go-conf

go-conf 是使用 Go 实现的一个轻量级的 config 库,参考了 ozzo-config 的设计,但具有更优的性能和支持动态移植配置的功能。 go-conf 采用 MIT 开源协议。 从配置文件中读取配置,默认支持 JSON 格式文件,提供了接口,也可非常方便地扩展支持其他格式配置文件; 可将一个 go 的结构体数据直接动态移植到 config 实例中; 不需要提前构建结构体就可以直接获取你想要的数据...阅读全文

分享一门非常好的爬虫课程《Python爬虫工程师必学——App数据抓取实战》——推荐分享

​​​课程简介:爬虫分为几大方向,WEB网页数据抓取、APP数据抓取、软件系统数据抓取。本课程主要为同学讲解如何用python实现App数据抓取,课程从开发环境搭建,App爬虫必备利器详解,项目实战,到最后的多App端数据抓取项目集成,让你掌握App数据抓取的技能,向更优秀的python爬虫工程师迈进!适合人群想学习数据抓取的你,正在向Python爬虫工程师迈进的你,这门课程绝对适合你技术储备要求Python语法基础(函数封装,包调用、TCP三次握手流程、Requests模块使用,Python多线程,Python多进程)点击进入资源下载...阅读全文

博文 2019-08-19 01:47:48 kgjne

什么是网络爬虫?python快速入门

世界上80%的爬虫是基于Python开发的,学好爬虫技能,可为后续的大数据分析、挖掘、机器学习等提供重要的数据源。 **什么是爬虫?** 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 其实通俗的讲就是通过程序去获取web页面上自己想要的数据,也就是自动抓取数据 **爬虫可以做什么?** 你可以用爬虫爬图片,爬取视频等等你想要爬取的数据,只要你能通过浏览器访问的数据都可以通过爬虫获取。 **爬虫的本质是什么?** 模拟浏览器打开网页,获取网页中我们想要的那部分数据 **浏览器打开网页的过程...阅读全文

golang 制作通用爬虫框架

# golang制作爬虫组件 # 一、背景 ​ 自己之前是一个iOS的小工,后来又去后台搬砖。 ​ 一直准备做一个iOS优质文章的聚合,每天定向爬取大V们的博客。所以就萌生了尝试打造一个通用爬虫框架的想法。加上近期开始golang的学习,所以选择使用go来写。 ​ 各章内容总结的比较粗糙,有什么问题,欢迎交流,欢迎各位大佬来喷。 传送门:[julyT](https://github.com/ldaysjun/JulyT) ## 1.1 初识 ​ 我给它起名叫JulyT,目前0.1版本支持Xpath数据解析,批量任务并发。简单的规则编写。就可以完成定向数据的提取. 例如:实现抓取列表,再抓取列表页详情数据,接着翻页继续 ```go func rule(node *Xpath.Node,spid...阅读全文

博文 2018-10-10 22:06:34 ldaysjun

Go 语言开发的爬虫框架Grabant

Grabant是一个用go语言开发,用javascript语法书写规则的爬虫框架 规则开发和神箭手的爬虫规则类似,开发的目的是兼容大部分神箭手已有的规则 一些相关解释及说明如下: **扫描页**是直接配置的一级页面,这个页面扫描的结果是抓取列表页; **列表页**是扫描后的二级页面,这个页面是为了抓取内容页; **内容页**才是真正匹配我们需要内容的规则的页面,内容页会匹配我们需要的内容并输出; 每次扫描页面,会抽取页面的链接放入队列进行规则匹配,列表页规则如果为空则列表页抽取链接全放入列表队列,同理内容页,从内容页中抽取的数据是以xpath或者正则匹配的规则 举个栗子: 如下是一个简易的爬豆瓣电影评分的规则 configs是一个json配置对应的字段意义如下: domain...阅读全文

开源项目 2017-10-13 11:00:03 网友

Golang 建立TCP时使用连接池

package main import ( "fmt" "io/ioutil" "log" "net" "sync" "testing" "time" ) func connectToService() interface{} { time.Sleep(1 * time.Second) return struct{}{} } func warmServiceConnCache() *sync.Pool { p := &sync.Pool{ New: connectToService, } for i := 0; i < 10; i++ { p.Put(p.New()) } return p } func startNetworkDaemon() *sync.WaitGroup { var w...阅读全文

博文 2019-06-09 08:02:40 FredricZhu

golang电子书小爬虫

NovelSpiderFor-YanBeiTang 这里是项目传送门 这是一个专门用于爬取图书网站雁北堂(http://www.ebtang.com)的小爬虫,可以将网站上的书籍以txt格式保存到本地 作为一个推理迷,一直想看一下被称为国内新本格推理巅峰的作品《岛田流杀人事件》,苦于资源稀少,找了好久都找不到,最终找到雁北堂,不过必须在web或者app上看,所以动动手,写一个爬虫,爬下来自己转格式,想去哪儿看就去哪儿看。 使用说明: 1.下载并开启main.exe 1.png 2.进入雁北堂获取小说id并输入 2.png 3.输入Id自动运行爬虫 3.png 4.爬虫运行完毕,生成txt 4.png 5.pn...阅读全文

博文 2020-02-23 18:32:53 我爱小白小白爱大开

Go语言小爬虫--第一步

解析新浪手机新闻网页,获取5条新的新闻的url存入到数据库 package linksql import ( "database/sql" "log" _"github.com/go-sql-driver/mysql" ) func Open_url_table() *sql.DB{ db,err:=sql.Open("mysql","root:root@/mysql") Checkerror(err) return db } func Insertlink(id int,src string,url string){ db:=Open_url_table() stmt,err1:=db.Prepare("insert into url_table(id,src,url) values(?,...阅读全文

博文 2017-02-10 11:29:24 碰不到繁华

[go语言]内存分配器性能测试

在C/C++里,自己动手实现内存分配器是很常见的事情,写过几年C/C++程序的人可能都做过这样的事情。这其中很重要的一个原因是C/C++不支持垃圾回收。但是既然go语言已经支持垃圾回收,还有必要自己去写一个内存分配器吗?我们做一个简单的测试看看结果怎么样。 测试平台: OS: ubuntu 12.04 x86_64 CPU: i5 2.27G MEMORY: 8G // ben1.go 自己实现内存分配器 package main type Pool struct { buf []byte } func (p *Pool) alloc(size int) []byte { if len(p.buf) < size { l := 1024 * 1024 for l < size { l += ...阅读全文

博文 2014-10-30 18:07:21 stevewang

Golang 爬虫教程 | 解决反爬问题 | 做一个文明的爬虫

本文首发于 https://imagician.net/archives/93/ 。欢迎到我的博客 https://imagician.net/ 了解更多。 前排提示:本文是一个入门级教程,讲述基本的爬虫与服务器关系。诸如无头浏览器、js挖取等技术暂不讨论。 面对大大小小的爬虫应用,反爬是一个经久不衰的问题。网站会进行一些限制措施,以阻止简单的程序无脑的获取大量页面,这会对网站造成极大的请求压力。 要注意的是,本文在这里说的是,爬取公开的信息。比如,文章的标题,作者,发布时间。既不是隐私,也不是付费的数字产品。网站有时会对有价值的数字产品进行保护,使用更复杂的方式也避免被爬虫“窃取”。这类信息不仅难以爬取,而且不应该被爬取。 网站对公开内容设置反爬是因为网站把访问者当做“人类”,人类会很友善...阅读全文

博文 2020-04-18 08:32:43 zhshch

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

最近发现知乎上感兴趣的问题越来越少,于是准备聚合下其他平台技术问答,比如 segmentfault、stackoverflow 等。 要完成这个工作,肯定是离不开爬虫的。我就顺便抽时间研究了 Go 的一款爬虫框架 colly。 概要介绍 colly 是 Go 实现的比较有名的一款爬虫框架,而且 Go 在高并发和分布式场景的优势也正是爬虫技术所需要的。它的主要特点是轻量、快速,设计非常优雅,并且分布式的支持也非常简单,易于扩展。 如何学习 爬虫最有名的框架应该就是 Python 的 scrapy,很多人最早接触的爬虫框架就是它,我也不例外。它的文档非常齐全,扩展组件也很丰富。当我们要设计一款爬虫框架时,常会参考它的设计。之前看到一些文章介绍 Go 中也有类似 scrapy 的实现。 相比而言,...阅读全文

博文 2019-08-04 23:32:38 波罗学