gmaps

package
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: May 1, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type About added in v1.0.0

type About struct {
	ID      string   `json:"id"`
	Name    string   `json:"name"`
	Options []Option `json:"options"`
}

type Address added in v1.0.0

type Address struct {
	Borough    string `json:"borough"`
	Street     string `json:"street"`
	City       string `json:"city"`
	PostalCode string `json:"postal_code"`
	State      string `json:"state"`
	Country    string `json:"country"`
}

type EmailExtractJob added in v1.1.0

type EmailExtractJob struct {
	scrapemate.Job

	Entry *Entry
}

func NewEmailJob added in v1.1.0

func NewEmailJob(parentID string, entry *Entry) *EmailExtractJob

func (*EmailExtractJob) Process added in v1.1.0

func (j *EmailExtractJob) Process(ctx context.Context, resp *scrapemate.Response) (any, []scrapemate.IJob, error)

func (*EmailExtractJob) ProcessOnFetchError added in v1.1.0

func (j *EmailExtractJob) ProcessOnFetchError() bool

type Entry

type Entry struct {
	ID         string              `json:"input_id"`
	Link       string              `json:"link"`
	Cid        string              `json:"cid"`
	Title      string              `json:"title"`
	Categories []string            `json:"categories"`
	Category   string              `json:"category"`
	Address    string              `json:"address"`
	OpenHours  map[string][]string `json:"open_hours"`
	// PopularTImes is a map with keys the days of the week
	// and value is a map with key the hour and value the traffic in that time
	PopularTimes     map[string]map[int]int `json:"popular_times"`
	WebSite          string                 `json:"web_site"`
	Phone            string                 `json:"phone"`
	PlusCode         string                 `json:"plus_code"`
	ReviewCount      int                    `json:"review_count"`
	ReviewRating     float64                `json:"review_rating"`
	ReviewsPerRating map[int]int            `json:"reviews_per_rating"`
	Latitude         float64                `json:"latitude"`
	Longtitude       float64                `json:"longtitude"`
	Status           string                 `json:"status"`
	Description      string                 `json:"description"`
	ReviewsLink      string                 `json:"reviews_link"`
	Thumbnail        string                 `json:"thumbnail"`
	Timezone         string                 `json:"timezone"`
	PriceRange       string                 `json:"price_range"`
	DataID           string                 `json:"data_id"`
	Images           []Image                `json:"images"`
	Reservations     []LinkSource           `json:"reservations"`
	OrderOnline      []LinkSource           `json:"order_online"`
	Menu             LinkSource             `json:"menu"`
	Owner            Owner                  `json:"owner"`
	CompleteAddress  Address                `json:"complete_address"`
	About            []About                `json:"about"`
	UserReviews      []Review               `json:"user_reviews"`
	Emails           []string               `json:"emails"`
}

func EntryFromJSON added in v1.0.0

func EntryFromJSON(raw []byte) (entry Entry, err error)

func (*Entry) CsvHeaders

func (e *Entry) CsvHeaders() []string

func (*Entry) CsvRow

func (e *Entry) CsvRow() []string

func (*Entry) IsWebsiteValidForEmail added in v1.1.0

func (e *Entry) IsWebsiteValidForEmail() bool

func (*Entry) Validate

func (e *Entry) Validate() error

type GmapJob

type GmapJob struct {
	scrapemate.Job

	MaxDepth     int
	LangCode     string
	ExtractEmail bool
}

func NewGmapJob

func NewGmapJob(id, langCode, query string, maxDepth int, extractEmail bool) *GmapJob

func (*GmapJob) BrowserActions

func (j *GmapJob) BrowserActions(ctx context.Context, page playwright.Page) scrapemate.Response

func (*GmapJob) Process

func (j *GmapJob) Process(ctx context.Context, resp *scrapemate.Response) (any, []scrapemate.IJob, error)

func (*GmapJob) UseInResults

func (j *GmapJob) UseInResults() bool

type Image added in v1.0.0

type Image struct {
	Title string `json:"title"`
	Image string `json:"image"`
}

type LinkSource added in v1.0.0

type LinkSource struct {
	Link   string `json:"link"`
	Source string `json:"source"`
}

type Option added in v1.0.0

type Option struct {
	Name    string `json:"name"`
	Enabled bool   `json:"enabled"`
}

type Owner added in v1.0.0

type Owner struct {
	ID   string `json:"id"`
	Name string `json:"name"`
	Link string `json:"link"`
}

type PlaceJob

type PlaceJob struct {
	scrapemate.Job

	UsageInResultststs bool
	ExtractEmail       bool
}

func NewPlaceJob

func NewPlaceJob(parentID, langCode, u string, extractEmail bool) *PlaceJob

func (*PlaceJob) BrowserActions

func (j *PlaceJob) BrowserActions(_ context.Context, page playwright.Page) scrapemate.Response

func (*PlaceJob) Process

func (j *PlaceJob) Process(_ context.Context, resp *scrapemate.Response) (any, []scrapemate.IJob, error)

func (*PlaceJob) UseInResults added in v1.1.0

func (j *PlaceJob) UseInResults() bool

type Review added in v1.0.0

type Review struct {
	Name           string
	ProfilePicture string
	Rating         int
	Description    string
	Images         []string
	When           string
}

Jump to

Keyboard shortcuts

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