请求带有数字递增的URL
我想找一个和这个网站链接差不多的:
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