Last active
February 8, 2019 16:39
-
-
Save billzhuang/8188806a547e2dadb1557ae1383eaf8c to your computer and use it in GitHub Desktop.
amazon stock checker
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
#CHROME_HEADER="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36" | |
GC_CONTROLLER="GameCube-Controller_B07DJX3Y47" | |
GC_ADAPTER="GameCube-Adapter_B07DJX3ZR8" | |
# replace to your hook url | |
HOOK_URL="https://outlook.office.com/webhook/xxxyyyzzz" | |
# generate random user agent | |
HEADER1="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36" | |
HEADER2="User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36" | |
HEADER3="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36" | |
HEADER4="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36" | |
HEADER5="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0" | |
HEADER6="User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0" | |
HEADER7="User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.59.12) Gecko/20160044 Firefox/52.59.12" | |
HEADER8="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0" | |
RANDOM_NO=$((1 + RANDOM % 8)) | |
#HEADERS=($HEADER1 $HEADER2 $HEADER3 $HEADER4 $HEADER5 $HEADER6 $HEADER7 $HEADER8) | |
var="HEADER$RANDOM_NO" | |
CHROME_HEADER="${!var}" | |
#send msg to M$ Teams | |
callback() | |
{ | |
ITEM_NAME=$1 | |
ITEM_NO=$2 | |
POST_DATA=$(printf '{ | |
"@context": "https://schema.org/extensions", | |
"@type": "MessageCard", | |
"themeColor": "0072C6", | |
"title": "%s is in stock", | |
"text": "Click below **Button** to buy in Amazon!", | |
"potentialAction": [ | |
{ | |
"@type": "OpenUri", | |
"name": "Buy it", | |
"targets": [ | |
{ "os": "default", "uri": "https://www.amazon.com/dp/%s/" } | |
] | |
} | |
] | |
}' "${ITEM_NAME}" "${ITEM_NO}") | |
#echo "${POST_DATA}" | |
curl -s -H "Accept: application/json" -H "Content-Type: application/json" -d "$POST_DATA" -X POST $HOOK_URL | |
} | |
# send msg to telegram | |
tele() | |
{ | |
ITEM_NAME=$1 | |
POST_URL="https://api.telegram.org/bot7788:xxyyzz/sendMessage?chat_id=@billzh&tex$ | |
curl -s $POST_URL | |
} | |
for ITEM in $GC_CONTROLLER $GC_ADAPTER | |
do | |
ITEM_NAME="$(cut -d'_' -f1 <<<"$ITEM")" | |
ITEM_NO="$(cut -d'_' -f2 <<<"$ITEM")" | |
echo "$ITEM_NAME" with code: $ITEM_NO | |
RESULT=$(curl -s --compressed -H "$CHROME_HEADER" https://www.amazon.com/gp/offer-listing/$ITEM_NO?m=ATVPDKIKX0DER | grep 'Price + Shipping' | wc -l) | |
#echo $RESULT | |
if [ "$RESULT" -ne "1" ] | |
then | |
echo "NOT FOUND" | |
else | |
callback "$ITEM_NAME" $ITEM_NO | |
tele "$ITEM_NAME" | |
echo "FOUND IT" | |
fi | |
done |
- add dynamic user-agent selector
- add telegram channel notification
JP Amazon: AN1VRQENFRJN5
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
after run 1 day, amazon block my server ip, all page all return: