website

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ScrapeCookstr

func ScrapeCookstr(data *model.DataInput, r *model.Recipe) error

func ScrapeFitMenCook

func ScrapeFitMenCook(data *model.DataInput, r *model.Recipe) error

func ScrapeKitchenStories

func ScrapeKitchenStories(data *model.DataInput, r *model.Recipe) error

func ScrapeMarleySpoon

func ScrapeMarleySpoon(data *model.DataInput, r *model.Recipe) error

Types

type KitchenStoriesRecipe

type KitchenStoriesRecipe struct {
	ID         string `json:"id,omitempty"`
	Title      string `json:"title,omitempty"`
	Slug       string `json:"slug,omitempty"`
	Type       string `json:"type,omitempty"`
	ContentID  string `json:"content_id,omitempty"`
	Difficulty string `json:"difficulty,omitempty"`
	Duration   struct {
		Preparation int `json:"preparation,omitempty"`
		Baking      int `json:"baking,omitempty"`
		Resting     int `json:"resting,omitempty"`
	} `json:"duration,omitempty"`
	Image struct {
		ID     string `json:"id,omitempty"`
		Width  int    `json:"width,omitempty"`
		Height int    `json:"height,omitempty"`
		URL    string `json:"url,omitempty"`
	} `json:"image,omitempty"`
	Author struct {
		ID          string `json:"id,omitempty"`
		Name        string `json:"name,omitempty"`
		Type        string `json:"type,omitempty"`
		NewType     string `json:"new_type,omitempty"`
		Slug        string `json:"slug,omitempty"`
		Occupation  string `json:"occupation,omitempty"`
		Description string `json:"description,omitempty"`
		Image       struct {
			URL string `json:"url,omitempty"`
		} `json:"image,omitempty"`
		Website     string `json:"website,omitempty"`
		BannerImage struct {
			URL string `json:"url,omitempty"`
		} `json:"banner_image,omitempty"`
		IsPremium bool `json:"is_premium,omitempty"`
	} `json:"author,omitempty"`
	Publishing struct {
		Created   string `json:"created,omitempty"`
		Updated   string `json:"updated,omitempty"`
		Published string `json:"published,omitempty"`
		State     string `json:"state,omitempty"`
	} `json:"publishing,omitempty"`
	URL           string `json:"url,omitempty"`
	UserReactions struct {
		Rating        float64 `json:"rating,omitempty"`
		RatingCount   int     `json:"rating_count,omitempty"`
		ImagesCount   int     `json:"images_count,omitempty"`
		CommentsCount int     `json:"comments_count,omitempty"`
		LikeCount     int     `json:"like_count,omitempty"`
		Quality       float64 `json:"quality,omitempty"`
	} `json:"user_reactions,omitempty"`
	Servings struct {
		Amount int    `json:"amount,omitempty"`
		Type   string `json:"type,omitempty"`
	} `json:"servings,omitempty"`
	ChefsNote string `json:"chefs_note,omitempty"`
	Nutrition struct {
		Calories     float64 `json:"calories,omitempty"`
		Fat          float64 `json:"fat,omitempty"`
		Protein      float64 `json:"protein,omitempty"`
		Carbohydrate float64 `json:"carbohydrate,omitempty"`
	} `json:"nutrition,omitempty"`
	Meta struct {
		Title       string `json:"title,omitempty"`
		Description string `json:"description,omitempty"`
		Hreflang    struct {
			En string `json:"en,omitempty"`
			De string `json:"de,omitempty"`
		} `json:"hreflang,omitempty"`
	} `json:"meta,omitempty"`
	Tags []struct {
		ID       string `json:"id,omitempty"`
		Slug     string `json:"slug,omitempty"`
		Title    string `json:"title,omitempty"`
		Type     string `json:"type,omitempty"`
		IsHidden bool   `json:"is_hidden,omitempty"`
	} `json:"tags,omitempty"`
	Categories struct {
		Main struct {
			ID    string `json:"id,omitempty"`
			Title string `json:"title,omitempty"`
			Slug  string `json:"slug,omitempty"`
			Path  []struct {
				ID    string `json:"id,omitempty"`
				Title string `json:"title,omitempty"`
				Slug  string `json:"slug,omitempty"`
			} `json:"path,omitempty"`
		} `json:"main,omitempty"`
		Additional []struct {
			ID    string `json:"id,omitempty"`
			Title string `json:"title,omitempty"`
			Slug  string `json:"slug,omitempty"`
			Path  []struct {
				ID    string `json:"id,omitempty"`
				Title string `json:"title,omitempty"`
				Slug  string `json:"slug,omitempty"`
			} `json:"path,omitempty"`
		} `json:"additional,omitempty"`
	} `json:"categories,omitempty"`
	HowtoVideos []struct {
		ID        string `json:"id,omitempty"`
		Title     string `json:"title,omitempty"`
		Slug      string `json:"slug,omitempty"`
		Type      string `json:"type,omitempty"`
		ContentID string `json:"content_id,omitempty"`
		RemoteID  string `json:"remote_id,omitempty"`
		URL       string `json:"url,omitempty"`
		Width     int    `json:"width,omitempty"`
		Height    int    `json:"height,omitempty"`
		Duration  int    `json:"duration,omitempty"`
		Image     struct {
			ID     string `json:"id,omitempty"`
			Width  int    `json:"width,omitempty"`
			Height int    `json:"height,omitempty"`
			URL    string `json:"url,omitempty"`
		} `json:"image,omitempty"`
		Publishing struct {
			Created       string `json:"created,omitempty"`
			Updated       string `json:"updated,omitempty"`
			Published     string `json:"published,omitempty"`
			State         string `json:"state,omitempty"`
			PlaybackState string `json:"playback-state,omitempty"`
		} `json:"publishing,omitempty"`
		Meta struct {
			Hreflang struct {
				En string `json:"en,omitempty"`
				De string `json:"de,omitempty"`
				Zh string `json:"zh,omitempty"`
			} `json:"hreflang,omitempty"`
		} `json:"meta,omitempty"`
		UserReactions struct {
			ViewCount int `json:"view_count,omitempty"`
		} `json:"user_reactions,omitempty"`
	} `json:"howto_videos,omitempty"`
	Ingredients []struct {
		List []struct {
			ID   string `json:"id,omitempty"`
			Name struct {
				Rendered string `json:"rendered,omitempty"`
				One      string `json:"one,omitempty"`
				Many     string `json:"many,omitempty"`
			} `json:"name,omitempty"`
			Measurement struct {
				Imperial struct {
					Amount float64 `json:"amount,omitempty"`
					Unit   struct {
						ID   string `json:"id,omitempty"`
						Name struct {
							One      string `json:"one,omitempty"`
							Many     string `json:"many,omitempty"`
							Rendered string `json:"rendered,omitempty"`
						} `json:"name,omitempty"`
						Type                   string `json:"type,omitempty"`
						IngredientPluralizable bool   `json:"ingredient_pluralizable,omitempty"`
					} `json:"unit,omitempty"`
				} `json:"imperial,omitempty"`
				Metric struct {
					Amount int `json:"amount,omitempty"`
					Unit   struct {
						ID   string `json:"id,omitempty"`
						Name struct {
							One      string `json:"one,omitempty"`
							Many     string `json:"many,omitempty"`
							Rendered string `json:"rendered,omitempty"`
						} `json:"name,omitempty"`
						Type                   string `json:"type,omitempty"`
						FeaturedOrder          int    `json:"featured_order,omitempty"`
						IngredientPluralizable bool   `json:"ingredient_pluralizable,omitempty"`
					} `json:"unit,omitempty"`
				} `json:"metric,omitempty"`
			} `json:"measurement,omitempty"`
			IsDivided bool `json:"is_divided,omitempty"`
			IsPartner bool `json:"is_partner,omitempty"`
		} `json:"list,omitempty"`
	} `json:"ingredients,omitempty"`
	Steps []struct {
		Text  string `json:"text,omitempty"`
		Image struct {
			URL string `json:"url,omitempty"`
		} `json:"image,omitempty"`
		Ingredients []struct {
			ID   string `json:"id,omitempty"`
			Name struct {
				Rendered string `json:"rendered,omitempty"`
				One      string `json:"one,omitempty"`
				Many     string `json:"many,omitempty"`
			} `json:"name,omitempty"`
			Measurement struct {
				Imperial struct {
					Amount float64 `json:"amount,omitempty"`
					Unit   struct {
						ID   string `json:"id,omitempty"`
						Name struct {
							One      string `json:"one,omitempty"`
							Many     string `json:"many,omitempty"`
							Rendered string `json:"rendered,omitempty"`
						} `json:"name,omitempty"`
						Type                   string `json:"type,omitempty"`
						IngredientPluralizable bool   `json:"ingredient_pluralizable,omitempty"`
					} `json:"unit,omitempty"`
				} `json:"imperial,omitempty"`
				Metric struct {
					Amount int `json:"amount,omitempty"`
					Unit   struct {
						ID   string `json:"id,omitempty"`
						Name struct {
							One      string `json:"one,omitempty"`
							Many     string `json:"many,omitempty"`
							Rendered string `json:"rendered,omitempty"`
						} `json:"name,omitempty"`
						Type                   string `json:"type,omitempty"`
						FeaturedOrder          int    `json:"featured_order,omitempty"`
						IngredientPluralizable bool   `json:"ingredient_pluralizable,omitempty"`
					} `json:"unit,omitempty"`
				} `json:"metric,omitempty"`
			} `json:"measurement,omitempty"`
			IsDivided bool `json:"is_divided,omitempty"`
			IsPartner bool `json:"is_partner,omitempty"`
		} `json:"ingredients,omitempty"`
		Utensils []struct {
			ID   string `json:"id,omitempty"`
			Name struct {
				Rendered string `json:"rendered,omitempty"`
				One      string `json:"one,omitempty"`
				Many     string `json:"many,omitempty"`
			} `json:"name,omitempty"`
			Size struct {
				ID   string `json:"id,omitempty"`
				Name string `json:"name,omitempty"`
			} `json:"size,omitempty"`
		} `json:"utensils,omitempty"`
	} `json:"steps,omitempty"`
	Utensils []struct {
		ID   string `json:"id,omitempty"`
		Name struct {
			Rendered string `json:"rendered,omitempty"`
			One      string `json:"one,omitempty"`
			Many     string `json:"many,omitempty"`
		} `json:"name,omitempty"`
		Size struct {
			ID   string `json:"id,omitempty"`
			Name string `json:"name,omitempty"`
		} `json:"size,omitempty"`
		Amount int `json:"amount,omitempty"`
	} `json:"utensils,omitempty"`
}

type KitchenStoriesScript

type KitchenStoriesScript struct {
	Props struct {
		PageProps struct {
			DehydratedState struct {
				Queries []struct {
					State struct {
						Data KitchenStoriesRecipe `json:"data,omitempty"`
					} `json:"state,omitempty"`
				} `json:"queries,omitempty"`
			} `json:"dehydratedState,omitempty"`
		} `json:"pageProps,omitempty"`
	} `json:"props,omitempty"`
}

type MarleySpoonData

type MarleySpoonData struct {
	ID               int      `json:"id,omitempty"`
	Name             string   `json:"name,omitempty"`
	Subtitle         string   `json:"subtitle,omitempty"`
	NameWithSubtitle string   `json:"name_with_subtitle,omitempty"`
	Classic          bool     `json:"classic,omitempty"`
	Slug             string   `json:"slug,omitempty"`
	VariantID        int      `json:"variant_id,omitempty"`
	Country          string   `json:"country,omitempty"`
	Brand            string   `json:"brand,omitempty"`
	Description      string   `json:"description,omitempty"`
	MealType         string   `json:"meal_type,omitempty"`
	Calories         int      `json:"calories,omitempty"`
	Difficulty       string   `json:"difficulty,omitempty"`
	PreparationTime  string   `json:"preparation_time,omitempty"`
	ProductType      string   `json:"product_type,omitempty"`
	MealAttributes   []string `json:"meal_attributes,omitempty"`
	Nutrition        struct {
		Calories string `json:"calories,omitempty"`
		Carbs    string `json:"carbs,omitempty"`
		Proteins string `json:"proteins,omitempty"`
		Fat      string `json:"fat,omitempty"`
	} `json:"nutrition,omitempty"`
	Sku           string `json:"sku,omitempty"`
	RecipeCardURL string `json:"recipe_card_url,omitempty"`
	Image         struct {
		Thumbnail string `json:"thumbnail,omitempty"`
		Small     string `json:"small,omitempty"`
		Medium    string `json:"medium,omitempty"`
		Large     string `json:"large,omitempty"`
	} `json:"image,omitempty"`
	AdditionalAllergens []string `json:"additional_allergens,omitempty"`
	Steps               []struct {
		Position    int    `json:"position,omitempty"`
		Title       string `json:"title,omitempty"`
		Description string `json:"description,omitempty"`
		Photo       string `json:"photo,omitempty"`
	} `json:"steps,omitempty"`
	Ingredients []struct {
		Name  string `json:"name,omitempty"`
		Image struct {
			Thumbnail string `json:"thumbnail,omitempty"`
			Medium    string `json:"medium,omitempty"`
		} `json:"image,omitempty"`
		Allergens        []string `json:"allergens,omitempty"`
		NameWithQuantity string   `json:"name_with_quantity,omitempty"`
	} `json:"ingredients,omitempty"`
	AssumedIngredients []struct {
		Name string `json:"name,omitempty"`
	} `json:"assumed_ingredients,omitempty"`
	AssumedCookingUtilities []struct {
		Name string `json:"name,omitempty"`
	} `json:"assumed_cooking_utilities,omitempty"`
	Chef struct {
		Name        string `json:"name,omitempty"`
		Description string `json:"description,omitempty"`
		Bio         string `json:"bio,omitempty"`
		Image       struct {
			Thumbnail string `json:"thumbnail,omitempty"`
			Medium    string `json:"medium,omitempty"`
		} `json:"image,omitempty"`
		Slug string `json:"slug,omitempty"`
	} `json:"chef,omitempty"`
	CookingTip interface{} `json:"cooking_tip,omitempty"`
}

MarleySpoonData struct is generated using https://mholt.github.io/json-to-go/

Jump to

Keyboard shortcuts

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