我正在嘗試使用 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
提交
取消