请求网址数量增加

时间:2014-03-03 17:39:38

标签: python web-crawler

我想要一个与此类似的网站网址:

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

在第一页之后,该号码从1开始并继续。是否有一种简单的方法可以将数字添加到页面中,还是需要创建包含所有数字的字典?

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

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

任何人都可以告诉我一个更好的方法来做另一个然后制作字典吗?

1 个答案:

答案 0 :(得分: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