在Python中动态更改范围?

J B*_*J B 1 python beautifulsoup

所以说我使用BeautifulSoup来解析页面,我的代码指出查询至少有7页.

分页看起来像

 1 2 3 4 5 6 7 Next
Run Code Online (Sandbox Code Playgroud)

如果我一直分页到7,有时会超过7页,所以如果我在第7页,分页看起来像

 1 2 3    7 8 9 10 Next
Run Code Online (Sandbox Code Playgroud)

所以现在,我知道至少还有3页.我正在使用初始传递来计算有多少页面,即get_num_pages返回7

我正在做的是迭代每页上的项目,所以我有类似的东西

for page in range(1,num_pages + 1):
  # do some stuff here
Run Code Online (Sandbox Code Playgroud)

如果脚本计算出超过7页,有没有办法动态更新范围?我想另一种方法是保持计数,当我到第7页时,单独处理.我正在寻找建议和解决方案,以最好的方式来解决这个问题.

Joh*_*ohn 6

你可能可以创建一个具有可变状态的生成器来确定它什么时候终止......但是像这样简单的东西呢?

page = 1
while page < num_pages + 1:
    # do stuff that possibly updates num_pages here
    page += 1
Run Code Online (Sandbox Code Playgroud)