请求带有数字递增的URL

-2 投票
1 回答
2078 浏览
提问于 2025-04-17 20:39

我想找一个和这个网站链接差不多的:

page = requests.get('www.google.com/page')

在首页之后,有一个数字从1开始一直往下递增。有没有简单的方法可以把这个数字加到页面上,还是说我需要创建一个包含所有数字的字典?

到目前为止,我尝试过这个方法,但没有成功:

number=1
page = requests.get('http://www.google.com/page' + number+=1 + '')

有没有人能告诉我除了做一个字典,还有什么更好的办法吗?

1 个回答

0

更新的回答

在重新审视你的问题后,我觉得你想要实现的是这个:

# Page begins without a number suffix.
number = None
while True:
    # Determine URL.
    url = 'http://www.google.com/page'
    if number is not None:
        # Don't add number suffix for first page.
        url += str(number) 

    # Request page.
    page = requests.get(url)

    # Handle page.
    # ...
    if done_handling_pages:
        break

    # Increment number for next page.
    if number is None:
        # The starting number for the second page.
        number = 1 
    else:
        # Increment page number by 1 after second page.
        number += 1

原始回答

首先,你需要确定起始页码是 1 还是 0

start_number = 0
# OR
start_number = 1

然后可以试试这个:

for number in range(start_number, max_number + start_number):
    page = requests.get('http://www.google.com/page' + str(number))

这里的 max_number 是你想要达到的最大数字。

或者,如果你想一直计数,直到满足某个自定义条件,可以这样做:

import itertools
for number in itertools.count(start_number):
    page = requests.get('http://www.google.com/page' + str(number))
    # Logic handling page result.
    # ...
    if done_handling_pages:
        break

撰写回答