gmaps

package
v0.0.0-...-3c22b89 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2025 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type About

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

type Address

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

type EmailExtractJob struct {
	scrapemate.Job

	Entry       *Entry
	ExitMonitor exiter.Exiter
}

func NewEmailJob

func NewEmailJob(parentID string, entry *Entry, opts ...EmailExtractJobOptions) *EmailExtractJob

func (*EmailExtractJob) Process

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

func (*EmailExtractJob) ProcessOnFetchError

func (j *EmailExtractJob) ProcessOnFetchError() bool

type EmailExtractJobOptions

type EmailExtractJobOptions func(*EmailExtractJob)

func WithEmailJobExitMonitor

func WithEmailJobExitMonitor(exitMonitor exiter.Exiter) EmailExtractJobOptions

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

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

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

	Deduper     deduper.Deduper
	ExitMonitor exiter.Exiter
}

func NewGmapJob

func NewGmapJob(
	id, langCode, query string,
	maxDepth int,
	extractEmail bool,
	geoCoordinates string,
	zoom int,
	opts ...GmapJobOptions,
) *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 GmapJobOptions

type GmapJobOptions func(*GmapJob)

func WithDeduper

func WithDeduper(d deduper.Deduper) GmapJobOptions

func WithExitMonitor

func WithExitMonitor(e exiter.Exiter) GmapJobOptions

type Image

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

type LinkSource

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

type Option

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

type Owner

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
	ExitMonitor        exiter.Exiter
}

func NewPlaceJob

func NewPlaceJob(parentID, langCode, u string, extractEmail bool, opts ...PlaceJobOptions) *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

func (j *PlaceJob) UseInResults() bool

type PlaceJobOptions

type PlaceJobOptions func(*PlaceJob)

func WithPlaceJobExitMonitor

func WithPlaceJobExitMonitor(exitMonitor exiter.Exiter) PlaceJobOptions

type Review

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