Bevaka begagnathandeln i Sverige med hjälp av Telegram och Google Cloud functions.
Rapportera ett fel
·
Begär en funktion
Detta är ett projekt som jag skapade för att lära mig hantera Google Cloud Functions, web scraping med Beautiful Soup och API-hantering med Python Telegram Bot.
Google Cloud tar emot HTTP GET förfrågningar med sökord och geografisk avgränsning, varpå den läser av Blocket och Tradera efter artiklar som matchar sökordet. Nya artiklar sparas och skickas till en egenskapad Telegramgrupp med information om objektet, länk och foto. Ett ID för annonsen sparas också i en SQL-databas så att det ej skickas en notis för samma produkt två gånger.
Google Cloud Scheduler kan användas för att schemalägga HTTP GET-förfrågningar. Alltså, för att bestämma hur ofta den ska söka igenom hemsidorna.
Detta projektet bör ej användas utan skapades endast i utbildningssyfte.
Samtliga moduler finns angedda i requirements.txt
-filen och kan installeras med:
pip -r install requirements.txt
Programmet använder sig av en Remote SQL-databas. Denna bör innehålla följande:
begagnat
.tradera
som innehåller:
id
has_viewed
blocket
som innehåller:
id
has_viewed
Det finns ett SQL-script (init_database.sql
) som kan köras för att göra det automatiskt.
En databas kan skapas gratis på följande hemsida.
Programmet använder sig av telegram för att skicka notiser så fort en ny annons har dykt upp. Skapa en ny telegram-bot på följande länk.
/newbot
för att skapa en ny bot.704418931:AAEtcZ*************
https://api.telegram.org/bot<ditt_bot_token>/getUpdates
git clone https://github.com/banjoanton/begagnat-bevakning.git
pip -r install requirments.txt
.env.yaml
.gcloud functions deploy begagnat-bevakning --entry-point main --runtime python37 --trigger-http --env-vars-file .env.yaml
gcloud functions describe begagnat-bevakning
Sökningen aktiveras genom HTTP GET förfrågningar, genom att besöka adressen från steg 6 i webläsaren. Med hjälp av GET parametrar kan man justera sökningen:
blocket.py
)Exempel - sök efter iPhone i hela Sverige.
https://us-central1-projekt-namn.cloudfunctions.net/begagnat-bevakning?q=iPhone&lan=3
Vid första sökningen kommer alla resultat att visas, vid varje efterkommande sökning visas bara de nya annonserna. Därav blir det en bevakning.
Processen kan automatiseras med Google Cloud Scheduler.