#! /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 '