#! /usr/bin/env nix-shell #! nix-shell -i bash -p htmlq 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=$(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() { if [[ -z "$1" ]]; then local data=$cache else local 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 if [[ -z "$1" ]]; then local data=$cache else local data=$(curl $1 -s) fi echo "$data" | htmlq -p | grep '