███╗ ██╗ ██████╗ ██████╗ ███████╗ ██████╗██████╗ █████╗ ██████╗ ███████╗██████╗
████╗ ██║██╔═══██╗██╔════╝ ██╔════╝██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔════╝██╔══██╗
██╔██╗ ██║██║ ██║██║ ███████╗██║ ██████╔╝███████║██████╔╝█████╗ ██████╔╝
██║╚██╗██║██║ ██║██║ ╚════██║██║ ██╔══██╗██╔══██║██╔═══╝ ██╔══╝ ██╔══██╗
██║ ╚████║╚██████╔╝╚██████╗ ███████║╚██████╗██║ ██║██║ ██║██║ ███████╗██║ ██║
╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝
by Alessandro Monetti - 2025
Benvenuti!
Questo software nasce dalla necessità di cercare una buona offerta per un obiettivo per conto di un amico su NewOldCamera.
Avendo già perso almeno un'occasione per segnalargli un affare, ho deciso con la scusa di mettermi alla prova e scrivere un web scraper con un semplice sistema di notifiche via bot telegram.
- Python
- BeautifulSoup: scraping lista dei marchi
- Requests: richieste HTTP
- Pandas: gestione dei dati
- Telegram: invio notifiche
L'ambiente virtuale è stato creato con poetry, un gestore di pacchetti per Python. Per installarlo, puoi seguire le istruzioni ufficiali qui.
Per installare le dipendenze, esegui il seguente comando (assicurati di essere nella cartella del progetto):
poetry installPer attivare l'ambiente virtuale, esegui:
poetry env activatePer eseguire il programma, utilizza il comando (assicurati di lanciarlo all'interno di src/noc_scraper):
poetry run python noc_scraper.pyPer utilizzare il bot telegram è necessario creare un bot e ottenere un token. Per farlo, segui questi passaggi:
- Apri Telegram e cerca il bot "BotFather".
- Invia il comando
/newbote segui le istruzioni per creare un nuovo bot. - Una volta creato il bot, riceverai un token di accesso. Copia questo token e incollalo nel file
telegram_data.jsonnel seguente formato
{
"chat_id": "YOUR_CHAT_ID",
"api_key": "YOUR_API_KEY"
}- Il
chat_idpuò essere anche l'handle del tuo profilo telegram, ad esempio@my_handle. Il bot invierà un messaggio privato al tuo profilo.
Una volta avviato il programma, si presenta un menu con le seguenti opzioni:

- Exit: per uscire dal programma.
- Cameras: per mostrare i marchi delle fotocamere.
- Lenses: per mostrare i marchi degli obiettivi.
Ogni ulteriore input è ignorato ed è richiesto di selezionare un'opzione valida.
Una volta selezionata la tipologia di prodotto, viene mostrato un elenco di marchi disponibili. Ad esempio, se si sceglie "Cameras", verrà visualizzato un elenco di marchi di fotocamere.

I marchi sono numerati e l'utente può selezionare un marchio inserendo il numero corrispondente. L'utente può anche digitare più marchi separati da uno spazio.
Ad esempio, se si desidera selezionare i marchi 1 e 3, è possibile digitare "1 3" e premere invio. Se si desidera selezionare solo un marchio, è possibile digitare il numero corrispondente e premere invio.
Se non è valido almeno uno dei numeri inseriti, è visualizzato un avviso ed è richiesto di selezionare almeno un marchio valido.
I marchi non validi sono ignorati e il programma procede al tracking dei marchi validi selezionati.
Una volta selezionati i marchi, il programma inizia a monitorare i nuovi prodotti. Durante il monitoraggio, il programma verifica se ci sono nuovi prodotti disponibili per i marchi selezionati.

Nel caso in cui in uno dei marchi selezionati siano stati aggiunti nuovi prodotti, verrà visualizzata una tabella con i dettagli dei nuovi prodotti.
Se vengono trovati nuovi prodotti, il programma invia una notifica al bot telegram con i dettagli dei nuovi prodotti.
