Python开发Flask+Twilio机器人遇报错:search不识别num_result参数
问题解决:search函数参数错误及代码修复
报错原因
你调用googlesearch.search()时用了num_results参数,但当前版本的googlesearch库中,指定结果数量的参数是num而非num_results,这是导致报错的直接原因。
代码其他问题及修复
除了参数错误,代码还有两处问题需要修正:
- 未导入Flask的
request对象,无法获取请求参数 - 循环输出结果时使用了未定义的
search_results变量,应替换为之前定义的result列表
修正后的完整代码
from flask import Flask, request # 补充导入request from googlesearch import search from twilio.twiml.messaging_response import MessagingResponse app = Flask(__name__) @app.route("/", methods=["POST"]) def bot(): user_msg = request.values.get('Body', '').lower() response = MessagingResponse() q = user_msg + "geeksforgeeks.org" result = [] # 将num_results改为num for i in search(q, num=3): result.append(i) msg = response.message(f"--- Results for '{user_msg}' ---") # 用定义好的result变量循环 for res in result: response.message(res) return str(response) if __name__ == "__main__": app.run()
内容的提问来源于stack exchange,提问作者Aashin sood
相关产品推荐
相关产品推荐

