Flask正则表达式搜索,AttributeError:'NoneType'对象没有属性'group',但仍获取捕获的字符串

时间:2018-10-09 22:24:00

标签: python regex heroku flask

我正在尝试使用以下Flask代码在this site上获取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工作。我在这里想念什么吗?

0 个答案:

没有答案