Поиск по регулярному выражению в Flask, AttributeError: у объекта 'NoneType' нет атрибута 'group', но он все еще получает захваченную строку - PullRequest
0 голосов
/ 10 октября 2018

Я пытался получить JSON на этом сайте с этим кодом колбы:

def main():
    link = "https://www.lazada.co.id/logitech-official-store/?langFlag=id&q=All-Products&from=wangpu&pageTypeId=2"
    result = re.search(r'pageData=(.+)<', requests.get(link).text)
    result = result.group(1)
    result = json.loads(result)
    listItems = result["mods"]["listItems"]
    return render_template('index.html', listItems=listItems)

Тогда я получил следующую ошибку:

File "app.py", line 18, in main
    result = result.group(1)
AttributeError: 'NoneType' object has no attribute 'group'

СтранноДело в том, что он все равно получит результат и сможет отрендерить шаблон.Но когда я разверну его в Heroku, страница не будет отображаться.Он говорит «Внутренняя ошибка сервера» и показывает вышеуказанную ошибку в журнале.Поэтому я решил проверить, действительно ли я получил результат, изменив код следующим образом:

def main():
    link = "https://www.lazada.co.id/logitech-official-store/?langFlag=id&q=All-Products&from=wangpu&pageTypeId=2"
    result = re.search(r'pageData=(.+)<', requests.get(link).text)
    if result:
        result = result.group(1)
        result = json.loads(result)
        listItems = result["mods"]["listItems"]
        return render_template('index.html', listItems=listItems)
    else:
        return "failed"

При локальном запуске он работал нормально, мог отображать шаблон и не отображал ошибок.Но когда я развернул его в Heroku, он всегда не давал результата и отображал «сбойную» строку.Я не понимаю это странное поведение.Я хочу, чтобы мой код работал в Heroku.Я что-то здесь пропустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...