#! /usr/bin/env nix-shell
#! nix-shell -i bash -p htmlq jq curl
search_args=$1
throttling=$2
recipies_per_search=50
if [[ -z "$2" ]]; then
throttling=0
fi
update_cache() {
cache=$(curl "$1" -s)
}
get_number_of_search_pages() {
local results
results=$(curl "https://www.bbcgoodfood.com/api/search-frontend/search?limit=1&${search_args}" -s | jq '.searchResults.totalItems')
if [[ $((results % recipies_per_search)) == 0 ]]; then
echo $((results / recipies_per_search))
else
echo $((results / recipies_per_search + 1))
fi
}
get_main_ingredients() {
local data
if [[ -z "$1" ]]; then
data=$cache
else
data=$(curl "$1" -s)
fi
echo "$data" | htmlq -p | grep '.*' | sed 's/^.*//' | sed 's/<\/a>.*//' | sed 's/,//'
echo "$data" | htmlq -p | grep '.*' | sed 's//@/g' | awk -F@ '{print $2}' | sed 's/,//'
}
get_page_json() { # Unused - but could be helpful for expanding this out layer
local data
if [[ -z "$1" ]]; then
data=$cache
else
data=$(curl "$1" -s)
fi
echo "$data" | htmlq -p | grep '