首页 > 解决方案 > Python 请求模块不刷新新页面内容

问题描述

嗨,我想抓取具有 JSON 提要的 XHR 请求 url,但是当我将查询参数页面值更改为 2 或任何其他值时,它会从第 1 页检索数据,但是当我在浏览器中执行相同操作时,它会根据其页面显示数据。在此处输入代码

import json
import requests
url = 'https://www.daraz.pk/computer-graphic-cards/?'
params_dict = {}
params_dict['ajax']= 'true'
params_dict['page']= 1
params_dict['spm'] = 'a2a0e.home.cate_2_9.1.35e349378NoL6f' 
res = requests.get(url, params=params_dict)
data = json.loads(res.text)
res.url # url changes but content is same of page 1

info = data.get('mods').get('listItems')
for i in info:
   print(i['name'])

标签: pythonpaginationpython-requestsxmlhttprequest

解决方案


我认为如何返回数据存在问题。我通过遍历页面稍微修改了调用。

查看返回的数据,即使在 UI 中,似乎也有一些产品在多个页面上返回。

for page_num in range(1, 7):
    res = requests.get('https://www.daraz.pk/computer-graphic-cards/?ajax=true&page=' + str(page_num)).json()
    info = res.get('mods').get('listItems')
    for i in info:
       print('%s:%s:%s---------%s' % (i['itemId'],i['sellerName'],i['skuId'],i['name']))
    print('----------------------- PAGE %s ------------------------------------------' % (page_num))

从此代码段返回的数据在此处链接。


推荐阅读