2015-03-18 2 views
1

Я только что закончил создание приложения в Web2Py, и он отлично работает на моей локальной машине. Тем не менее, когда я развернуть его PythonAnywhere и попытаться запустить приложение, я получаю следующее сообщение об ошибке:Приложение Web2Py работает на локальной машине, но не на PythonAnywhere

JSONDecodeError: Expecting value: line 1 column 1 (char 0) 

я не уверен, почему происходит эта ошибка, так как он работает на моей локальной машине. Я получаю эту ошибку почти на каждой странице приложения. Вот одна функция, где я получаю сообщение об ошибке:

def index(): 
    """Get parameters for current date to pass into url""" 
    day = time.strftime('%d') 
    month = time.strftime('%m') 
    year = time.strftime('%Y') 
    url = 'http://stats.nba.com/scores/#!/' + month + '/' + day + '/' + year 
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36'} 
    """Get results from response at NBA.com to obtain standings for Eastern and Western Conference""" 
    with requests.Session() as session: 
     session.headers = headers 
     session.get(url, headers=headers) 

     params = { 
      'DayOffset': '0', 
      'GameDate': month + '/' + day + '/' + year, 
      'LeagueID': '00' 
     } 

     response = session.get('http://stats.nba.com/stats/scoreboardV2?DayOffset=0&LeagueID=00&gameDate='+month+'%2F'+day+'%2F'+year, params=params) 
     results = response.json() 
     eastHeaders = results['resultSets'][4]['headers'] 
     eastRows = results['resultSets'][4]['rowSet'] 
     westHeaders = results['resultSets'][5]['headers'] 
     westRows = results['resultSets'][5]['rowSet'] 
    return dict(eastHeaders=eastHeaders,eastRows=eastRows,westHeaders=westHeaders,westRows=westRows) 

Специфическая линия, где я получаю ошибку является:

results = response.json() 

ответ

2

PythonAnywhere DEV здесь. Для бесплатных учетных записей мы не разрешаем доступ к внешнему сайту, если у него нет официального API, потому что люди использовали нас для запуска дополнительных атак/спама. Для получения дополнительной информации см. here.

Также here - это список более 1000 + белых сайтов с API, доступ к которым возможен с помощью бесплатной учетной записи на PythonAnywhere.

Конрад

Смежные вопросы