从 Python 中的多个网址(循环)获取数据

Getting data from multiple urls (looped) in Python

我运行这个代码得到31个urls,它们都给我24个垃圾箱,后面有一个数字。

eventurl = "http://data.hisparc.nl/show/source/eventtime/501/2017/1/"
for dag in range(1, 32):
    print(eventurl + str(dag))

我现在想使用 运行 执行此代码后打印的所有 url 中的数据。我想指定数据以获取我之前谈到的垃圾箱后面的数字。当我使用 1 url (我使用 2017/1/1 作为下面的例子)我 运行 这个代码:

eventurl = "http://data.hisparc.nl/show/source/eventtime/501/2017/1/1/"
data = urllib.request.urlopen(eventurl)
data = data.read().decode()
events = data.split("# bin\tvalue")
nevents = [d.split("\t")[1] for d in events[1].strip().split("\n")]
nevents = list(map(int, nevents))

我得到了 24 个数字,我稍后会在图表中使用。如果我试试这个:

eventurl = "http://data.hisparc.nl/show/source/eventtime/501/2017/1/"
for dag in range(1, 32):
    print(eventurl + str(dag))

data = urllib.request.urlopen(eventurl + str(dag))
data = data.read().decode()

events = data.split("# bin\tvalue")
nevents = [d.split("\t")[1] for d in events[1].strip().split("\n")]
print(nevents)

然后只显示最后 24 个 bin (2017/1/31)。

谁能帮我弄到 2017/1/1 到 2017/1/31 的所有垃圾箱?

您刚刚遇到了缩进问题:

eventurl = "http://data.hisparc.nl/show/source/eventtime/501/2017/1/"
for dag in range(1, 32):
    print(eventurl + str(dag))

    data = urllib.request.urlopen(eventurl + str(dag))
    data = data.read().decode()

    events = data.split("# bin\tvalue")
    nevents = [d.split("\t")[1] for d in events[1].strip().split("\n")]
    print(nevents)