我正在尝试使用以下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工作。我在这里想念什么吗?