paspider

package
v0.0.0-...-b629d69 Latest Latest
Warning

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

Go to latest
Published: Dec 7, 2021 License: MPL-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ERR_NOT_FOUND_MD5            = errors.New("not found vaild md5")
	ERR_NOT_FOUND_PAGE_OBJ       = errors.New("not found page object")
	ERR_NOT_FOUND_LOCAL_DL_TABLE = errors.New("not found localization download table")

	REXP_VERSION_PATTERN     = regexp.MustCompile(`\d+.\d+(.\d+)*`)
	REXP_REDIRECT_DL_PATTERN = regexp.MustCompile(`/downloading/`)
	REXP_MD5_PATTERN         = regexp.MustCompile(`([a-zA-Z0-9]+)(\s?)+$`)
)
View Source
var (
	DEBUG bool
)

Functions

func LaunchBrowserDefault

func LaunchBrowserDefault() (*rod.Browser, error)

func MustLaunchBrowserDefault

func MustLaunchBrowserDefault() *rod.Browser

Types

type CreatePageOptions

type CreatePageOptions = proto.TargetCreateTarget

type PALocalizationDownloadEntry

type PALocalizationDownloadEntry struct {
	Lang string `json:"lang"`
	Link string `json:"link"`
	Hash string `json:"hash"`
}

type PALocalizationDownloadEntryMap

type PALocalizationDownloadEntryMap map[string]*PALocalizationDownloadEntry

type PASpider

type PASpider struct {
	// contains filtered or unexported fields
}

func MustNew

func MustNew(client *rod.Browser, opts proto.TargetCreateTarget, name string) *PASpider

func New

func New(client *rod.Browser, opts proto.TargetCreateTarget, name string) (*PASpider, error)

func (*PASpider) ClosePage

func (p *PASpider) ClosePage() error

func (*PASpider) EncodeUrl

func (p *PASpider) EncodeUrl(url string) (string, error)

func (*PASpider) EvaluateJs

func (p *PASpider) EvaluateJs(js string, args ...interface{}) (*proto.RuntimeRemoteObject, error)

func (*PASpider) GetAppTitle

func (p *PASpider) GetAppTitle() (string, error)

func (*PASpider) GetDownloadBox

func (p *PASpider) GetDownloadBox() (*rod.Element, error)

func (*PASpider) GetFirstDownloadUrl

func (p *PASpider) GetFirstDownloadUrl() (string, error)

func (*PASpider) GetFirstMD5

func (p *PASpider) GetFirstMD5() (string, error)

func (*PASpider) GetLocalizationDownloadTable

func (p *PASpider) GetLocalizationDownloadTable() (*rod.Element, error)

func (*PASpider) GetLocalizationDownloads

func (p *PASpider) GetLocalizationDownloads() (PALocalizationDownloadEntryMap, error)

func (*PASpider) GetLocationOrigin

func (p *PASpider) GetLocationOrigin() (string, error)

func (*PASpider) GetPage

func (p *PASpider) GetPage() (*rod.Page, error)

func (*PASpider) GetRealDownloadUrl

func (p *PASpider) GetRealDownloadUrl(href string) (string, error)

func (*PASpider) GetVersion

func (p *PASpider) GetVersion() (string, error)

func (*PASpider) MustGetPage

func (p *PASpider) MustGetPage() *rod.Page

func (*PASpider) MustWaitPageReady

func (p *PASpider) MustWaitPageReady()

func (*PASpider) WaitPageReady

func (p *PASpider) WaitPageReady() error

type SpiderResult

type SpiderResult struct {
	Version string `json:"version"`
	Hash    string `json:"hash"` // MD5
	Url     string `json:"url"`
}

func FetchEntry

func FetchEntry(client *rod.Browser, opts CreatePageOptions, def_lang string, name string) (*SpiderResult, error)

Jump to

Keyboard shortcuts

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