求每次只能爬取第一页的数据,如何爬取这种翻页的网页代码!

最近遇到了项目遇到了这样的问题,如下所示爬虫爬取下一页的内容,求各位解决解决
img

直接请求数据接口就行了,分页参数是pn,这修改就行,示例代码如下,有帮助麻烦点个采纳【本回答右上角】,谢谢~~有其他问题可以继续交流~

http://3.push2.eastmoney.com/api/qt/clist/get?cb=jQuery1124032332843249790666_1629461999400&pn={}&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&fid=f3&fs=m:1+t:2,m:1+t:23&fields=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152&_=1629461999333

img

数据对照

img

import requests
url="http://3.push2.eastmoney.com/api/qt/clist/get?pn={}&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&fid=f3&fs=m:1+t:2,m:1+t:23&fields=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152&_=1629461999333"
headers={
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36" ,
    "Referer":"http://quote.eastmoney.com/center/gridlist.html"
}
for i in range(1,3):#采集前2页
    rurl=url.format(i)
    r=requests.get(rurl,headers=headers)
    data=r.json()
    for item in data['data']['diff']:
        print('代码:%s\t名称:%s\t最新价:%s\t涨跌幅:%s'%(item['f12'],item['f14'],item['f2'],item['f3']))

可以模拟点击进入到下一页, 然后渲染之后抓取页面数据.

网址多少

用的requests还是selenium?
看到下一页中的data-index=58,很明显属于异步渲染的页面,
如果用的requests,就要分析出来58和下一页URL关联,比如?page=58 这种,根据分析结果直接拼接新的url就可以继续爬取了
如果用的selenium,先定位到”下一页”这个元素,然后执行click()方法,页面会自动渲染下一个的内容,就可以继续爬取了
参考代码

driver.find_element_by_xpath('//a[@class="next paginate_button"]').click()