首页 > 解决方案 > http流感季节问题python不确定为什么我得到这个输出

问题描述

编写一个不带任何参数的名为“flu_season”的函数。研究此 API 的文档,该 API 跟踪包含流感症状的推文 ( http://www.flutrack.org )。向 URL“ https://fury.cse.buffalo.edu/ps-api/flutrack/ ”发送请求,它将使用与链接 API 相同的格式(例如,而不是连接到http://api.flutrack .org/使用https://fury.cse.buffalo.edu/ps-api/flutrack/,但使用与链接 API 相同的查询字符串)。返回过去 2 天内包含流感症状的推文总数

注意:我们使用本地 API 是为了避免对免费 API 的限制以及对一致的分级进行分级。在测试时随意探索链接的 API

import urllib.request
   def flu_season():
   url = "https://fury.cse.buffalo.edu/ps-api/flutrack/?a=True&time=2"
   response = urllib.request.urlopen(url)
   url1 = response.read().decode()
   return url1

输入错误 []:错误:回溯(最近一次调用):文件“sandbox/python/run_function.py”,第 115 行,在 call_all(submission_file_path,function_name,all_inputs_filename,results_filename,written_filename,sql_output_filename)文件“sandbox/python /run_function.py", line 102, in call_all print(all_results) UnicodeEncodeError: 'ascii' codec can't encode characters in position 103-109: ordinal not in range(128)

我怎样才能解决这个问题?

标签: pythonhttp

解决方案


url = "https://fury.cse.buffalo.edu/ps-api/flutrack/?" + "a = True" + "time = 2"

这将导致url有值https://fury.cse.buffalo.edu/ps-api/flutrack/?a = Truetime = 2。问号后面的部分在我看来不像是一个有效的查询字符串。查询字符串通常没有空格,键值对通常用 & 号分隔。

也许你可以这样做:

url = "https://fury.cse.buffalo.edu/ps-api/flutrack/?a=True&time=2"

推荐阅读