简单思路:
使用for循环来遍历
1.发送请求
2.获取响应数据
3.下载本地
将三个操作封装到函数中,便于阅读,后续维护等
import urllib.request import urllib.parse import json def get_request(page): base_url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword' data = { 'cname':'', 'pid':'', 'keyword': '北京', 'pageIndex': page, 'pageSize': '10' } headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' } data = urllib.parse.urlencode(data).encode('utf-8') request = urllib.request.Request(url= base_url,data = data,headers=headers) return request def get_content(request): response = urllib.request.urlopen(request) content = response.read().decode('utf-8') return content def down_load(page,content): with open('kfc'+str(page)+'.json','w',encoding='utf-8') as fp: fp.write(content) #程序入口 if __name__=='__main__': start_page = int(input("输入起始页>>")) end_page = int(input("输入终止页>>")) for page in range(start_page,end_page+1): #定制请求对象 request = get_request(page) #获取响应数据 content = get_content(request) #下载本地 down_load(page,content)