from bs4 import BeautifulSoup import requests, json from pprint import pprint class Scraper(): url = 'http://www.viaggiatreno.it/viaggiatrenonew/resteasy/viaggiatreno/partenze/S01480/Tue%20Oct%2011%202017%2008:30:00%20GMT+0200%20(CEST)' def __init__(self): pass def get_stations(self, filename): _ret = [] with open(filename) as file: return self.parse_stations(file.read()) return _ret def parse_stations(self, stations): _ret = [] for station in stations.split('\n'): if len(station) > 0: _ret.append(self.parse_station(station)) return _ret def parse_station(self, station): stat = station.split('|') return { 'name': stat[0].strip(), 'code': stat[1].strip() } def find_stations(self, station_name, stations): _ret = [] for station in stations: if station_name.lower() in station['name'].lower(): _ret.append(station) return _ret if __name__ == '__main__': scraper = Scraper() stations = scraper.get_stations('elenco_stazioni.txt') pprint(stations)