Что ж, вам придется приостановить выполнение сценария между циклами.
import time
time.sleep(1)
time.sleep(N)
Таким образом, он может гипотетически работать следующим образом.
import json,urllib.request
import requests
import pandas as pd
from string import ascii_lowercase
import time
alldata = []
for c in ascii_lowercase:
response = requests.get('https://reservia.viarail.ca/GetStations.aspx?q=' + c)
json_data = response.text.encode('utf-8', 'ignore')
df = pd.DataFrame(json.loads(json_data), columns=['sc', 'sn', 'pv']) # etc.,
time.sleep(3)
alldata.append(df)
Или искать API для захватаданные с URL, на который вы нацеливаетесь.Вы не опубликовали реальный URL, поэтому невозможно точно сказать, открыт API или нет.