python - 烧瓶正则表达式搜索,AttributeError:'NoneType'对象没有属性'group',但仍然获取捕获的字符串
问题描述
我试图用这个 Flask 代码在这个站点上获取 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 工作。我在这里错过了什么吗?
解决方案
推荐阅读
- puppet - 木偶输出到代理而不通知
- ruby-on-rails - Rails - 带有 heredoc 的 find_by_sql 引发错误
- java - 软键盘不会在焦点从 AutoCompleteTextView 更改为 EditText 时持续存在
- python - 检查另一个熊猫数据框中存在哪些日期的最快方法
- c++ - C++代码在window gcc上工作,但不在linux gcc上工作
- airflow - 如何在 Airflow 中的被调用 DAG 中捕获传递的 --conf 参数
- c# - 在 foreach 循环中赋值的意外结果 - sharpsnmplib
- python-3.x - asyncio 以不同的间隔定期运行两个不同的函数
- ruby-on-rails - 为什么这个代码块在 Rails.cache.fetch 之后执行
- javascript - 如何列出包括值、名称、面额在内的对象?