Python API json集合的嵌套while循环

Python API json集合的嵌套while循环,python,json,api,while-loop,python-requests,Python,Json,Api,While Loop,Python Requests,我要求从Meetup API获得590页。我使用while循环进行迭代以获取页面。现在我有了页面,我需要请求这些页面并将它们正确地格式化为python,以便将它们放入数据框架中 这是为一个url执行此操作时的外观: 但是因为我有这么多的页面,我想自动完成这项工作,并对它们进行迭代 这就是我想到嵌套while循环的方式,这就是我尝试的: urls = 0 offset = 0 url = 'https://api.meetup.com/2/groups?offset=%d&format=

我要求从Meetup API获得590页。我使用while循环进行迭代以获取页面。现在我有了页面,我需要请求这些页面并将它们正确地格式化为python,以便将它们放入数据框架中

这是为一个url执行此操作时的外观:

但是因为我有这么多的页面,我想自动完成这项工作,并对它们进行迭代

这就是我想到嵌套while循环的方式,这就是我尝试的:

urls = 0
offset = 0

url = 'https://api.meetup.com/2/groups?offset=%d&format=json&category_id=34&photo-host=public&page=100&radius=200.0&fields=&order=id&desc=false&sig_id=243750775&sig=768bcf78d9c73937fcf2f5d41fe6070424f8d0e3'

r = requests.get(urls%d = 'https://api.meetup.com/2/groups?offset=%d&format=json&category_id=34&photo-host=public&page=100&radius=200.0&fields=&order=id&desc=false&sig_id=243750775&sig=768bcf78d9c73937fcf2f5d41fe6070424f8d0e3').json()

while urlx < 591:
   new_url = r % urls % offset
   print(new_url)

   offset += 1  
但是,它不起作用,我收到了许多错误,包括以下错误:

SyntaxError:关键字不能是表达式


不确定你想做什么,代码有很多问题

但是,如果您只想循环0到591并获取URL,那么下面是代码:

import requests
import pandas as pd

dfs = []

base_url = 'https://api.meetup.com/2/groups?offset=%d&format=json&category_id=34&photo-host=public&page=100&radius=200.0&fields=&order=id&desc=false&sig_id=243750775&sig=768bcf78d9c73937fcf2f5d41fe6070424f8d0e3'

for i in range(0, 592):
    url = base_url % i
    r = requests.get(url).json()
    print("Fetching URL: %s\n" % url)

    # do something with r here
    # here I'll append it to a list of dfs

    dfs.append(pd.io.json.json_normalize(r['results']))

问题似乎是URL%d在线,请求。geturls%d='1!'https://api.meetup.com/2/.... 这不是有效的python语法。未定义urlx,即使它在前面的一些代码中,当urlx<591:,它也不会更改其在循环中的值。这将导致无限循环。
import requests
import pandas as pd

dfs = []

base_url = 'https://api.meetup.com/2/groups?offset=%d&format=json&category_id=34&photo-host=public&page=100&radius=200.0&fields=&order=id&desc=false&sig_id=243750775&sig=768bcf78d9c73937fcf2f5d41fe6070424f8d0e3'

for i in range(0, 592):
    url = base_url % i
    r = requests.get(url).json()
    print("Fetching URL: %s\n" % url)

    # do something with r here
    # here I'll append it to a list of dfs

    dfs.append(pd.io.json.json_normalize(r['results']))