summaryrefslogtreecommitdiff
path: root/blq
blob: 1e91ce98ccff3fcf3f678acd76510e891c648586 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/sh

# Perform a search on Blocket.se (API v6, Nov 2020)

usage() { echo usage: $0 query 1>&2; exit 1; }

if which mutt 1>&-
then : ${MAILER:='mutt -e "set folder=."'}
else : ${MAILER:=mailx}
fi

# Parse options
r=
while getopts rc o
do
	case $o in
	r) r=1 ;; # process with blm and read in MAILER
	?) usage ;;
	esac
done
shift $((OPTIND-1))
test -z "$1" && usage

# Format query string
q=`printf '%s\n' "$1" | sed 's/ /%20/g'`

# Retrieve authorization token
tok=`curl -s "https://www.blocket.se/annonser/hela_sverige?q=$q" | awk '/id="initialState"/ {getline; print}' | jq -r .authentication.bearerToken`

# Retrieve search results
curl -s -H "authorization: Bearer $tok" "https://api.blocket.se/search_bff/v1/content?lim=40&q=$q&st=s&include=all&gl=3&include=extend_with_shipping" |
{
	test ! -z "$r" && {
		f=/tmp/blq.$RANDOM
		blm > $f
		eval $MAILER -f $f < /dev/tty
		rm $f
	} || cat
}