如何解决类型错误:parse() 缺少 1 个必需的位置参数:'timestr'
我正在尝试抓取一个网站,但我不断收到此帖子标题中的错误。我还没有想出解决这个问题的方法,非常感谢任何帮助。 这是我的代码:
import requests
import json
from dateutil.parser import parser
url = 'website url'
info = requests.get(url)
data = info.json()
for entry in data['properties']['periods']:
t = entry['startTime']
print(parser.parse(t))
我试图抓取的网站是一个 JSON 格式的天气预报 API。 'properties'
、'periods'
和 'startTime'
是 JSON 中的类别。有趣的是,当我将存储在这些类别中的值提供给解析器时,它可以无缝工作,但当值是变量时则不然。我做错了什么?
解决方法
class parser(object):
def __init__(self,info=None):
self.info = info or parserinfo()
def parse(self,timestr,default=None,ignoretz=False,tzinfos=None,**kwargs):
[...]
当您执行 parser.parse(t)
之类的操作时,您将 t
作为 self
参数和 必需 位置参数 timestr
没有值。您需要在实例上调用此方法:
parser().parse(t)
并且由于您在循环中使用它,因此最好在循环之前创建一次:
date_parser = parser()
for entry in data['properties']['periods']:
t = entry['startTime']
print(date_parser.parse(t))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。