python爬虫获取下一页_外行学 Python 爬虫 第六篇 动态翻页

本文介绍如何使用Python爬虫处理动态加载的分页内容,通过分析请求和模拟POST请求实现翻页,从https://list.szlcsc.com获取元件数据,解析出productId并构建完整产品链接。
摘要由CSDN通过智能技术生成

前面几篇文章,初步完成了从网络请求、数据解析、数据存储的整个过程,完成了一个爬虫所需的全部功能。但是通过对数据库中数据的分析会发现数据库中的元件数量比网站上的元件数量少了很多。前面的实现过程通过解析网页中的连接来获取元件详细信息页面,解析出相关的数据。在实际页面中发现有很多的分页现象,通过前面的方式仅能获取第一页的内容,无法获取第二页的内容,这就造成无法爬取所有的页面,最终是获取到的数据比网站上的实际数据小的多。

在上面的图片中可以看到数据被分成了很多页面来显示,实际点击下一页按钮,发现地址栏的网址没有发生任何改变,网站使用的 ajax 动态加载技术来实现翻页,此时无法通过网址来区分各个页面的内容。爬取这样的页面有一定的困难,但在 python 中还是有方法可以解决的,一般情况下我们可以通过以下方法来解决:通过 selenium 来模拟浏览器的行为,从而获取翻页的数据。

通过分析相应请求,使用 request 来模拟按键的点击效果,从而获取翻页数据。

本节主要通过 request 来模拟网页上的按钮点击来实现翻页。

获取翻页请求网址

翻页请求实际上是一个 post 的过程,我们需要知道 post 的网址及通过 post 请求提交的数据,通过 chrome 浏览器的开发者工具来看下如何实现整个过程。

点击下一页后在开发者工具中欧可以看到多了一个 list 的请求,我们先来看一下 list 请求的内容。

从 list 请求的内容,可以看出 post 的网址为 https://list.szlcsc.com/products/list,提交的数据主要有以下几个:

'catalogNodeId': 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值