我正在尝试使用 python 请求进行分页,但我似乎无法获取总页面,并且 JSON 响应不会随着页面的更改而更新。url = 'https://www.walmart.com/store/1003-York-pa/search?query=ice%20cream'api_url = 'https://www.walmart.com/store/electrode/api/search'    params = {        'query': word,        'cat_id': 0,        'ps': 24,        'offset': 0,        'prg': 'desktop',        'stores': re.search(r'store/(\d+)', url).group(1)    }    data1 = requests.get(api_url, params=params).json()        num_pages = data1['pagination']['pages'][-1]['page']    for page in range(0, num_pages + 1):             params = {                'query': word,                'cat_id': 0,                'page':page,     // try to update the new page                'ps': 24,                'offset': 0,                'prg': 'desktop',                'stores': re.search(r'store/(\d+)', url).group(1)            }     data = requests.get(api_url, params=params).json()我做错了什么,我该如何解决?
                    
                    
                1 回答
                            潇湘沐
                            
                                
                            
                        
                        
                                                
                    TA贡献1816条经验 获得超6个赞
在第二个params设置(for循环内)中,您需要删除'offset': 0,,因为它指示服务器每次都从第一页的第一个结果中获取。这是唯一的主要错误。修复后,我开始为每个页面请求获取不同的产品。
其次,for 循环可能应该从 开始1,因为正如我从响应中看到的,页面是从 1 开始计数的。
第三,第二次requests.get调用可能应该在分页 for 循环内,或者您只需复制带有错误缩进的粘贴代码。
添加回答
举报
0/150
	提交
		取消
	