TypeError: parse() missing 1 required positional argument: 'timestr'
TypeError: parse() missing 1 required positional argument: 'timestr'
我正在尝试抓取网站,但我不断收到此 post 标题中的错误。我还没有找到解决这个问题的方法,非常感谢任何帮助。
这是我的代码:
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))
我要抓取的网站是天气预报 API,格式为 JSON。 '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
参数传递,而 required 位置参数 timestr
没有得到值。您需要在实例上调用此方法:
parser().parse(t)
并且由于您在循环中使用它,因此最好在 循环之前创建一次:
date_parser = parser()
for entry in data['properties']['periods']:
t = entry['startTime']
print(date_parser.parse(t))
我正在尝试抓取网站,但我不断收到此 post 标题中的错误。我还没有找到解决这个问题的方法,非常感谢任何帮助。 这是我的代码:
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))
我要抓取的网站是天气预报 API,格式为 JSON。 '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
参数传递,而 required 位置参数 timestr
没有得到值。您需要在实例上调用此方法:
parser().parse(t)
并且由于您在循环中使用它,因此最好在 循环之前创建一次:
date_parser = parser()
for entry in data['properties']['periods']:
t = entry['startTime']
print(date_parser.parse(t))