All Projects → jacopo-j → TrenitaliaAPI

jacopo-j / TrenitaliaAPI

Licence: MIT license
Reverse engineering dell'API dell'app di Trenitalia

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to TrenitaliaAPI

bvg-topological-map
BVG transport map as a nice SVG.
Stars: ✭ 15 (-53.12%)
Mutual labels:  transit, transport
python-codicefiscale
🇮🇹 💳 encode / decode italian fiscal codes - codifica / decodifica del Codice Fiscale italiano.
Stars: ✭ 53 (+65.63%)
Mutual labels:  italian, italy
vbb-rest
An HTTP API for Berlin & Brandenburg public transport.
Stars: ✭ 104 (+225%)
Mutual labels:  transit, transport
transxchange2gtfs
tool to convert transxchange data into a GTFS feed
Stars: ✭ 26 (-18.75%)
Mutual labels:  transit, transport
Tidytransit
R package for working with the General Transit Feed Specification (GTFS)
Stars: ✭ 84 (+162.5%)
Mutual labels:  transit, transport
open-bus
🚌 Analysing Israel's public transport data
Stars: ✭ 65 (+103.13%)
Mutual labels:  transit, transport
european-transport-operators
NOT UP-TO-DATE ANYMORE, UNMAINTAINED. CHECK european-transport-feeds INSTEAD. List of european long-distance transport operators, available API endpoints, GTFS feeds and client modules.
Stars: ✭ 47 (+46.88%)
Mutual labels:  transit, transport
matsim-sbb-extensions
matsim swiss rail
Stars: ✭ 23 (-28.12%)
Mutual labels:  transit, transport
db-stations
A list of DB stations.
Stars: ✭ 15 (-53.12%)
Mutual labels:  transit, transport
Vbb Cli
A CLI for Berlin & Brandenburg public transport.
Stars: ✭ 70 (+118.75%)
Mutual labels:  transit, transport
db-hafas
JavaScript client for the Deutsche Bahn HAFAS API.
Stars: ✭ 54 (+68.75%)
Mutual labels:  transit, transport
waka
Your realtime guide to public transport in New Zealand
Stars: ✭ 37 (+15.63%)
Mutual labels:  transit, transport
public-transit-tools
Tools for working with GTFS public transit data in ArcGIS
Stars: ✭ 126 (+293.75%)
Mutual labels:  transit, transport
ideas
How to make public transport more comfortable, more accessible, more transparent?
Stars: ✭ 35 (+9.38%)
Mutual labels:  transit, transport
citylines
Citylines.co is a collaborative platform for mapping the transit systems of the world!
Stars: ✭ 53 (+65.63%)
Mutual labels:  transit, transport
European Transport Modules
[DISCONTINUED in favour of public-transport-operators] Collection of european transport JavaScript modules.
Stars: ✭ 9 (-71.87%)
Mutual labels:  transit, transport
Trenitalia-API
A documentation of trenitalia's rest api.
Stars: ✭ 62 (+93.75%)
Mutual labels:  trenitalia, trenitalia-apis
codice fiscale
A Ruby gem that calculates the Italian Tax ID (Codice Fiscale)
Stars: ✭ 17 (-46.87%)
Mutual labels:  italian, italy
Vbb Modules
List of JavaScript modules for Berlin & Brandenburg public transport.
Stars: ✭ 47 (+46.88%)
Mutual labels:  transit, transport
Hafas Client
JavaScript client for HAFAS public transport APIs.
Stars: ✭ 125 (+290.63%)
Mutual labels:  transit, transport

TrenitaliaAPI

Reverse engineering dell'API dell'applicazione di Trenitalia per Android. Il contenuto di questo repository è il frutto di una ricerca personale, non esiste alcuna affiliazione con Trenitalia o con altri organi delle Ferrovie dello Stato. Distribuito con licenza MIT.

Documenti

  • Per informazioni dettagliate su come ho ottenuto questo materiale leggi il post sul mio blog.
  • Per una documentazione empirica dell'API vedi la Wiki.

Questo modulo è da considerarsi una bozza: sono stati implementati solo i metodi principali e probabilmente esistono molti casi limite che causano eccezioni non gestite. Data la complessità dei dati non è stato possibile testare ogni singola circostanza.

Requisiti

  • Python 3.7
  • modulo requests

Utilizzo

from trenitalia import TrenitaliaBackend
from datetime import datetime

tb = TrenitaliaBackend()

# Ricerca di una stazione (restituisce una lista di risultati)
tb.search_station(name="milano",       # Nome da cercare
                  only_italian=False)  # Cerca solo stazioni italiane (default = False)

# Ricerca di una soluzione di viaggio (restituisce un generatore)
# È possibile inserire data e ora di partenza OPPURE data e ora di arrivo
tb.search_solution(origin="830008409",       # ID della stazione di origine
                   destination="830000219",  # ID della stazione di destinazione
                   dep_date=datetime.now(),  # Data e ora di partenza
                   arr_date=None,            # Data e ora di arrivo (default = None)
                   adults=1,                 # Numero di adulti (default = 1)
                   children=0,               # Numero di bambini (default = 0)
                   train_type="All",         # Può essere "All", "Frecce", "Regional" (default = "All")
                   max_changes=99,           # Massimo numero di cambi (default = 99)
                   limit=10)                 # Massimo numero di soluzioni da cercare (default = 10)

# Info su un treno in tempo reale (restituisce un dizionario)
tb.train_info(number="9600",   # Numero del treno
              dep_st=None,     # ID della stazione di origine (opzionale)
              arr_st=None,     # ID della stazione di destinazione (opzionale)
              dep_date=None)   # Data di partenza (opzionale)
              
# Tabellone arrivi/partenze (restituisce una lista di treni)
tb.timetable(station_id="830008409",   # ID della stazione
             ttype="departure")        # "departure" o "arrival"
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].