app

package
v1.3.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 15, 2020 License: Apache-2.0 Imports: 16 Imported by: 163

Documentation

Overview

app interface for graphical user interface. 基本业务执行顺序依次为:New()-->[SetLog(io.Writer)-->]Init()-->SpiderPrepare()-->Run()

Index

Constants

This section is empty.

Variables

View Source
var LogicApp = New()

全局唯一的核心接口实例

Functions

This section is empty.

Types

type App

type App interface {
	SetLog(io.Writer) App                                         // 设置全局log实时显示终端
	LogGoOn() App                                                 // 继续log打印
	LogRest() App                                                 // 暂停log打印
	Init(mode int, port int, master string, w ...io.Writer) App   // 使用App前必须进行先Init初始化,SetLog()除外
	ReInit(mode int, port int, master string, w ...io.Writer) App // 切换运行模式并重设log打印目标
	GetAppConf(k ...string) interface{}                           // 获取全局参数
	SetAppConf(k string, v interface{}) App                       // 设置全局参数(client模式下不调用该方法)
	SpiderPrepare(original []*spider.Spider) App                  // 须在设置全局运行参数后Run()前调用(client模式下不调用该方法)
	Run()                                                         // 阻塞式运行直至任务完成(须在所有应当配置项配置完成后调用)
	Stop()                                                        // Offline 模式下中途终止任务(对外为阻塞式运行直至当前任务终止)
	IsRunning() bool                                              // 检查任务是否正在运行
	IsPause() bool                                                // 检查任务是否处于暂停状态
	IsStopped() bool                                              // 检查任务是否已经终止
	PauseRecover()                                                // Offline 模式下暂停\恢复任务
	Status() int                                                  // 返回当前状态
	GetSpiderLib() []*spider.Spider                               // 获取全部蜘蛛种类
	GetSpiderByName(string) *spider.Spider                        // 通过名字获取某蜘蛛
	GetSpiderQueue() crawler.SpiderQueue                          // 获取蜘蛛队列接口实例
	GetOutputLib() []string                                       // 获取全部输出方式
	GetTaskJar() *distribute.TaskJar                              // 返回任务库
	distribute.Distributer                                        // 实现分布式接口
}

func New

func New() App

type Logic

type Logic struct {
	*cache.AppConf        // 全局配置
	*spider.SpiderSpecies // 全部蜘蛛种类
	crawler.SpiderQueue   // 当前任务的蜘蛛队列
	*distribute.TaskJar   // 服务器与客户端间传递任务的存储库
	crawler.CrawlerPool   // 爬行回收池
	teleport.Teleport     // socket长连接双工通信接口,json数据传输

	sync.RWMutex
	// contains filtered or unexported fields
}

func (*Logic) CountNodes

func (self *Logic) CountNodes() int

服务器客户端模式下返回节点数

func (*Logic) GetAppConf

func (self *Logic) GetAppConf(k ...string) interface{}

获取全局参数

func (*Logic) GetMode

func (self *Logic) GetMode() int

返回当前运行模式

func (*Logic) GetOutputLib

func (self *Logic) GetOutputLib() []string

获取全部输出方式

func (*Logic) GetSpiderByName

func (self *Logic) GetSpiderByName(name string) *spider.Spider

通过名字获取某蜘蛛

func (*Logic) GetSpiderLib

func (self *Logic) GetSpiderLib() []*spider.Spider

获取全部蜘蛛种类

func (*Logic) GetSpiderQueue

func (self *Logic) GetSpiderQueue() crawler.SpiderQueue

获取蜘蛛队列接口实例

func (*Logic) GetTaskJar

func (self *Logic) GetTaskJar() *distribute.TaskJar

返回任务库

func (*Logic) Init

func (self *Logic) Init(mode int, port int, master string, w ...io.Writer) App

使用App前必须先进行Init初始化(SetLog()除外)

func (*Logic) IsPause

func (self *Logic) IsPause() bool

检查任务是否处于暂停状态

func (*Logic) IsRunning

func (self *Logic) IsRunning() bool

检查任务是否正在运行

func (*Logic) IsStopped

func (self *Logic) IsStopped() bool

检查任务是否已经终止

func (*Logic) LogGoOn

func (self *Logic) LogGoOn() App

继续log打印

func (*Logic) LogRest

func (self *Logic) LogRest() App

暂停log打印

func (*Logic) PauseRecover

func (self *Logic) PauseRecover()

Offline 模式下暂停\恢复任务

func (*Logic) ReInit

func (self *Logic) ReInit(mode int, port int, master string, w ...io.Writer) App

切换运行模式时使用

func (*Logic) Run

func (self *Logic) Run()

运行任务

func (*Logic) SetAppConf

func (self *Logic) SetAppConf(k string, v interface{}) App

设置全局参数

func (*Logic) SetLog

func (self *Logic) SetLog(w io.Writer) App

设置全局log实时显示终端

func (*Logic) SpiderPrepare

func (self *Logic) SpiderPrepare(original []*spider.Spider) App

SpiderPrepare()必须在设置全局运行参数之后,Run()的前一刻执行 original为spider包中未有过赋值操作的原始蜘蛛种类 已被显式赋值过的spider将不再重新分配Keyin client模式下不调用该方法

func (*Logic) Status

func (self *Logic) Status() int

返回当前运行状态

func (*Logic) Stop

func (self *Logic) Stop()

Offline 模式下中途终止任务

Directories

Path Synopsis
aid
surfer
surfer是一款Go语言编写的高并发web下载器,支持 GET/POST/HEAD 方法及 http/https 协议,同时支持固定UserAgent自动保存cookie与随机大量UserAgent禁用cookie两种模式,高度模拟浏览器行为,可实现模拟登录等功能。
surfer是一款Go语言编写的高并发web下载器,支持 GET/POST/HEAD 方法及 http/https 协议,同时支持固定UserAgent自动保存cookie与随机大量UserAgent禁用cookie两种模式,高度模拟浏览器行为,可实现模拟登录等功能。
surfer/agent
Package agent generates user agents strings for well known browsers and for custom browsers.
Package agent generates user agents strings for well known browsers and for custom browsers.
数据收集
数据收集
collector
结果收集与输出
结果收集与输出

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL