Qui*_*5SY 1 python python-3.x python-dateutil
我正在尝试抓取一个网站,但我不断收到本文标题中的错误。我还没有找到解决这个问题的方法,非常感谢任何帮助。这是我的代码:
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))
Run Code Online (Sandbox Code Playgroud)
我试图抓取的网站是一个 JSON 格式的天气预报 API。、'properties'和'periods'是'startTime'JSON 中的类别。有趣的是,当我向解析器提供存储在这些类别中的值时,它可以无缝工作,但当该值是变量时则不然。我究竟做错了什么?
Run Code Online (Sandbox Code Playgroud)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)传递,并且所需的位置参数不会获得值。您需要在实例上调用此方法:tselftimestr
parser().parse(t)
Run Code Online (Sandbox Code Playgroud)
由于您在循环中使用它,因此最好在循环之前创建它一次:
parser().parse(t)
Run Code Online (Sandbox Code Playgroud)