Python爬虫实战 | 爬取拼多多商品的详情价格SKU数据

news2024/11/22 9:14:38

图片

本案例将为大家演示如何爬取拼多多商品的详情数据。目的是爬取大量的商品以及商品的评论,所以在程序设计上要考虑到该爬虫的高并发以及持久化存储。爬虫工具选用了Scrapy框架,以满足爬虫的高并发请求任务;持久化存储用了MongoDB,对直接存储JSON数据比较方便。

01

分析网页

拼多多触屏版一般是为了适配手机浏览器而做的版本,尽管触屏版在PC端的样式不适配,但并不影响数据浏览和抓包。在PC端浏览器中用调试工具查看请求信息,通过线索查找,并没有发现该网站实际获取数据的请求,但是每次下拉刷新页面确实有数据更新,在浏览器调试工具中没有看到新的请求的产生,是由于这个请求是网页内的Ajax请求,可以通过分析网站JavaScript源代码的方式,找到请求地址和参数规则,这是一种方法;第二种方法就是在后面介绍到的,用专业的抓包工具抓包分析网络请求。

常用的抓包工具有Fiddler、Charles、Wireshark等。本案例在分析网页请求时,使用Charles,以便更清楚地看到网络请求的过程。

Charles(Charles Web Debugging Proxy)是常用的网络封包截取工具,在移动开发中应用较多。使用Charles时,为了调试与服务器端的网络通信协议,经常需要截取网络封包来一并分析。Charles通过构建代理服务,让本地请求都通过Charles的代理之后访问公网,从而实现了网络封包的截取和分析。除了可以在做移动开发中调试端口外,Charles也可以用于分析第三方接口的通信协议。Charles的SSL功能还可以完成HTTPS协议分析。

Charles主要提供两种查看封包的视图:Structure和 Sequence。Structure视图能够将网络请求按访问的域名分类。例如,某个域名下如果有n个资源请求,则所有此域名下的请求都会被详细分类。视图则是按照请求发生的顺序来展示的。

Charles除了基本的抓包功能,还可以修改网络请求参数、支持模拟慢速网络、抓取手机端的请求、抓取部分HTTPS的包。

通过浏览网页发现,商品评论的URL,需要传入goods_id这个参数,所以需要首先爬取商品ID,商品ID可以在商品列表页看到,具体抓包的操作步骤如下。

(1) 在浏览器输入目标网址(拼多多触频版的网址),其列表页面如图12-1所示。

图片

■ 图12-1拼多多列表页面

(2) 向下滑动页面,同时在Charles中可以看到有域名为yangkeduo.com的请求产生。

(3) 将Charles视图模式切换至Structure,输入过滤条件yangkeduo,找到请求接口。

(4) 浏览网页,切换至详情页的评论。

(5) 在Charles中,找到评论接口的请求地址。

(6) 在浏览器中,测试找到的地址是否可用。

提示/

虽然Charles可以支持HTTPS抓包,在分析移动端应用网络请求时也是一个不可或缺的工具,但是随着移动安全技术的发展,很多移动App用到了SSL Pinning技术,即SSL双向验证,该技术可实现在客户端和服务器端的双向验证,移动端的壳加密技术也使移动端HTTPS抓包越来越困难,目前对抗SSL Pinning的技术,可行的方案是XPost框架,有兴趣的读者可以进一步了解相关知识。

通过上述分析,得到了商品列表接口(该接口为分析过程中的接口地址,接口地址会改版,此处仅做参考):

http://apiv3.yangkeduo.com/api/alexa/v1/goods?list_update_time=true&platform=1&assist_allowed=1&page=2&size=40

商品评论的接口地址是:

http://apiv3.yangkeduo.com/reviews/" + str(item['goods_id']) + "/list?&size=20",

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1306698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Feign-自定义配置

一、自定义Feign配置 二、修改日志级别 配置Feign日志有两种方式 方式一:application配置文件方式 (1)全局生效 feign: client: config: default: #这里用default就是全局配置,…

Quartus II + Modelsim 脚本仿真

软件版本:Intel Quartus Prime Design Suite: 23.2 方式参考附件Intel 官方文档:Questa*-Intel FPGA Edition Quick-Start: Intel Quartus Prime Pro Edition 第1步,创建一个ram ip,并形成一个例化的top层ip 第2步,自…

nestjs守卫校验jwt

目标 部分接口需要用户登录后才可以访问,用户登录后可以颁发 jwt_token 给前端,前端在调用需要鉴权的接口,需要在请求头添加 jwt_token,后端校验通过才能继续访问,否则返回403无权访问 创建守卫 anth 安装依赖 npm…

linux串口数据丢失--中断绑定CPU优化

问题现象 机器在户外测试时, 出现 轮速记 丢失的现象 小概率出现 50Hz丢失1~2帧极低概率出现 0.1~0.3秒内没有底盘数据 此问题导致slam定位漂, 需要优化处理. 验证与测试 问题1: 底盘串口 一个数据帧(head–data–crc) 被分片2~3报文 解决方法: 检测到head之后, 解析data…

2023全国大学生数据分析大赛A题完整论文教学

大家好呀,从发布赛题一直到现在,总算完成了全国大学生数据分析大赛A题某电商平台用户行为分析与挖掘完整的成品论文。 本论文可以保证原创,保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。 实…

bugku -- 网站被黑--本地管理员

dirsearch 或者御剑扫目录 扫出来有个登录页面 然后bp抓包爆破密码 扫出来密码是heck登录就行了 构造x-forwarded-for:127.0.0.1 本地登录: 爆破账号 密码是text123 下面的base64解码可以知道

《地理信息系统原理》笔记/期末复习资料(11. GIS的输出与地图可视化)

目录 11. GIS的输出与地图可视化 11.1. GIS的输出 11.1.1. 输出方式 11.1.2. GIS的图形输出设备 11.2. 地图符号 11.2.1. 地图符号的实质 11.2.2. 地图符号的分类 11.2.3. 地图符号的设计要求 11.3. 专题信息表达 11.3.1. 专题地图的基本概念 11.3.2. 专题地图的表示…

漏洞补丁存在性检测技术洞察

1、 漏洞补丁存在性检测技术是什么? 漏洞补丁存在性检测技术通俗的理解就是检测目标对象中是否包含修复特定已知漏洞的补丁代码,目标检测对象可能是源码,也能是二进制文件。 2、 漏洞补丁存在性检测技术业务背景 补丁检测这个问题背景是产品…

SSL证书验证域名所有权

SSL证书申请时需要进行验证,这是因为SSL证书的主要目的是为了确保网络通信的安全性和数据的完整性。通过验证,证书颁发机构(CA)可以确认申请者对特定域名或资源的所有权,并确保他们有权使用该证书来加密和保护用户与网…

vue3 实现日期格式化

vue3 实现日期格式化 在标签内添加 value-format"YYYY-MM-DD" <el-form-item label"注册时间:"><el-date-picker v-model"tableForm.date" type"date" value-format"YYYY-MM-DD" placeholder"选择注册时间&…

探究Spring Boot 中实现跨域的几种方式

文章目录 前言1. 使用CrossOrigin注解2. 使用WebMvcConfigurer配置3. 使用Filter配置4. 使用全局配置结束语 前言 在现代Web应用中&#xff0c;由于安全性和隐私的考虑&#xff0c;浏览器限制了从一个域向另一个域发起的跨域HTTP请求。解决这个问题的一种常见方式是实现跨域资…

MyBatis框架知识点①

MyBatis 1.MyBatis的特点2.搭建MyBatis项目依赖文件配置编写MyBatis中全局配置文件数据库SQL编写实体类编写映射文件加载映射文件log4j配置编写测试程序 3.增删改查的基本操作查询操作新增操作修改删除操作 4. Mapper代理方式Mybatis 工具类实体类Mapper接口mapper文件加载mapp…

一览科技创始人罗江春:AI涌现,文娱迎来黄金十年

编者荐语&#xff1a; 一览科技创始人兼CEO罗江春先生在11月28日的极新AIGC峰会上发表了以“AI涌现&#xff0c;文娱迎来黄金十年”为题的演讲&#xff0c;关于AIGC对文娱行业的加持以及AI创业公司的方向和基本点&#xff0c;罗江春先生给出了未来的方向。 以下文章来源于一览…

广度(宽度)优先搜素——层层递进

分析算法及题目 完整代码实现 广度优先搜索&#xff08;Breadth-First Search&#xff0c;BFS&#xff09;是一种图和树的遍历算法&#xff0c;与深度优先搜索相对应。BFS从起始节点开始&#xff0c;首先访问起始节点&#xff0c;然后逐层地访问其邻居节点&#xff0c;直到达到…

OpenHarmony应用开发——在标准OpenHarmony上运行应用-标准OpenHarmony工程设置

一、前言 前面我们创建了一个工程并使其在HarmonyOS系统上运行&#xff0c;本文我们来阐述一下如何在标准的OpenHarmony开发板或系统上运行。 二、详细步骤 1.下载并配置OpenHarmony SDK 首先&#xff0c;打开Settings. 将SDK选择为OpenHarmony&#xff0c;第一次选择路径应该…

想要更稳定的数据传输?试试这些Aspera替代方案

在现代数字化时代&#xff0c;数据传输变得越来越重要。由于数据文件的规模、数量和复杂性的增加&#xff0c;以及对数据安全和机密性的需求不断提高&#xff0c;传统的FTP、SCP和HTTP等协议已无法满足现代数据传输的需求。因此&#xff0c;许多组织和企业转向使用Aspera协议进…

外发加工ERP软件功能有哪些?外发加工ERP系统哪家好

不同的外发加工业务有不同的业务流程和管理策略与方式&#xff0c;在当前这个激烈竞争的时代&#xff0c;如何降低经营成本&#xff0c;打通各种信息流&#xff0c;优化资源配置和降低成本&#xff0c;提升生产过程联动效率&#xff0c;加强企业核心竞争力管理等&#xff0c;是…

轻松搭建FPGA开发环境:第二课——UE 安装与配置说明

工欲善其事必先利其器&#xff0c;很多人想从事FPGA的开发&#xff0c;但是不知道如何下手。既要装这个软件&#xff0c;又要装那个软件&#xff0c;还要编译仿真库&#xff0c;网上的教程一大堆&#xff0c;不知道到底应该听谁的。所以很多人还没开始就被繁琐的开发环境搭建吓…

基于ssm+jsp的实验室考勤管理系统网页的设计与实现论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本实验室考勤管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信…

后端只打印了info等级的日志?-SpringBoot日志打印-Slf4j

在调用log变量的方法来输出日志时&#xff0c;有以上5个级别对应的方法&#xff0c;从不太重要&#xff0c;到非常重要 调用不同的方法&#xff0c;就会输出不同级别的日志。 trace&#xff1a;跟踪信息debug&#xff1a;调试信息info&#xff1a;一般信息warn&#xff1a;警告…