Skip to content

ZuochaoLee/visual_spider_go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

visual_spider_go

##a visual spider by go #简介 ####visual_spider_go是使用golang编写的可视化爬虫框架,目标是尽可能降低爬虫开发周期,对垂直领域爬虫进行了高度的抽象,用户只需要简单配置不需要编写代码就能完成数据爬取,所以与其说是爬虫框架不如说是一个完整的数据爬取软件产品,特别适合没有编程能力,但掌握基本的计算机操作知识的用户使用。正如本项目logo所示,“小孩子”都可以爬数据了 ####本项目基于go_spider,结合了ip代理等全部反反爬模块,拥有可视化编辑维护爬取规则功能,系统自带golang原生的任务定时调度模块,可以自己管理定时执行爬虫任务,同时支持动态修改header,用户登录等功能。 ##亮点 ####1.web可视化界面,不需要编码,只需要添加配置信息,即操作简单又有一定灵活性 ####2.结构优化,解耦下载与解析,原生队列降低序列化开销 ####3.配备大量反屏蔽措施,可伪装请求头信息,随机访问延时,IP代理及其回退算法 ####4.结合语言特点,高并发能力强,效率极高 ####5.自带任务调度系统,可在web端定时发布任务,监视任务运行 #安装 ##go get github.com/ZuochaoLee/visual_spider_go ##依赖 ###go get github.com/ZuochaoLee/cron ###go get github.com/astaxie/beego ###go get github.com/PuerkitoBio/goquery ###go get github.com/bitly/go-simplejson ###o get golang.org/x/net/html/charset

#使用说明 ##系统简介 系统是基于golang开发的可视化爬虫系统,目标是以最小的代价最高的运行效率完成垂直领域的爬虫任务。 ##系统架构 系统由爬虫部分,任务调度部分,数据交互部分组成。 爬虫部分是系统的核心,由下载器,任务队列,页面解析器,数据存储通道四部分组成,其中页面解析器和数据存储通道可以由用户配置使用,也可以进行二次开发来满足具体任务需求,据大多数情况下,系统的模版均可覆盖,用户只需配置一些参数即可使用,无需编写代码。 任务调度部分是用golang模仿cron实现的,支持cron语法,可以在系统内很容易实现定时任务调度 ##操作说明 ###添加任务 添加任务是配置抓取中用到的关键信息,根据对垂直领域爬虫的抽象,分为六个部分

1、任务信息:包括 任务名称,执行时间的cron表达式,执行线程数,任务的描述等

2、存储数据库信息:包括 数据库类型(设计支持mysql,mongodb,redis,file,console等)主机名,端口号,库名,用户名,密码等信息

3、下载器配置信息:包括 返回类型,请求方法,入口URL,cookie设置,hearder设置,使用代理等

4、翻页规则:支持最多四层翻页变量设置,最内层必须为页码(格式为:1 1 100 即 起始页 步长终止页),外层为自定义列表(列表项用空格隔开即可)

5、种子解析规则:从信息列表页获取详情页链接种子的相关规则,包括css选择器唯一规则,选取属性类型,以及如果是相对路径需要的前缀URL等

6、页面规则:从详情页解析相关信息规则,包括词项名称,css选择器唯一规则,选取属性类型,可添加多个

###任务启停 在任务列表中可以操纵启停任务,任务启动不是及时运行,是把任务添加到了定时任务系统中,同样,停止任务只是从定时任务系统中删除了任务,不是及时停止任务。由于系统效率超群,大多数任务都会在十分钟以内,及时停止不是那么必须 ###任务修改 如果遇到被爬网站页面规则改版,可以在任务列表点击任务详情修改任务配置,具体操作同任务添加