爬虫项目七:Python对唯品会商品数据、评论数据的爬取

2023-11-08


前言

用Python爬取唯品会商品数据、评论数据


提示:以下是本篇文章正文内容,下面案例可供参考

一、商品数据

1.分析页面

我们进入唯品会官网,搜索商品观察页面,向下滑动页面 可以看到数据是动态加载的,对于动态加载数据 有两种办法一个是selenium一个是找接口,我是用的selenium

在这里插入图片描述

2.分析url

我们拿首页url看一看,keyword就是商品关键词 无容置疑,但是关键词后面的是什么呢?不知道

https://category.vip.com/suggest.php?
keyword=%E5%B0%8F%E7%B1%B3
&ff=235|12|1|1

我们点击第二页拿出url,看一看,看到多了一个参数page,哪个不知道的参数还是不知道

https://category.vip.com/suggest.php?
keyword=%E5%B0%8F%E7%B1%B3
&ff=235%7C12%7C1%7C1
&page=2

我们大胆尝试一下,将keyword换成我们的中文,那个不知道的参数 直接去掉,最后的url

https://category.vip.com/suggest.php?keyword=小米&page=1

我们访问一下页面,看一下 是可以正常访问的,也就是说我们捏造的url是可以使用的

在这里插入图片描述

3.解析数据

我们上文知道了数据是动态加载的,并且分析了页面url

现在我们来操控selenium 访问url后 向下滚动 以此加载完整数据

bro.get(url)
bro.execute_script('window.scrollTo(0, document.body.scrollHeight)')  # 向下拉动一屏
self.bro.execute_script('window.scrollTo(0, document.body.scrollHeight)')  # 向下拉动一屏

加载完全数据后,就是解析数据,我们用的是Xpath

html=etree.HTML(bro.page_source)
div_list=html.xpath('//section[@class="goods-list c-goods-list--normal"]/div')[1:]
for div in div_list:
   sleep(0.5)
   dic={}
   try:
       dic["title"]=div.xpath('.//div[@class="c-goods-item__name  c-goods-item__name--two-line"]/text()')[0]
   except:
       dic["title"]=""

注意div_list并不能全部遍历,因为数据中第一个div是空数据没有用 所以舍去

二、评论数据

1.抓包

我们利用chrome的抓包工具,很容易的就抓到了评论数据包

在这里插入图片描述

2.分析url

我们把它的url拿出来看一看,参数有很多,但其中有很多没有的参数,以及干扰的参数,需要我们剔除

https://mapi.vip.com/vips-mobile/rest/content/reputation/queryBySpuId_for_pc?callback=getCommentDataCb
app_name=shop_pc
app_version=4.0
warehouse=VIP_BJ
fdc_area_id=101103105
client=pc
mobile_platform=1
province_id=101103
api_key=70f71280d5d547b2a7bb370a529aeea1
user_id=
mars_cid=1616550262960_63ea57943137d7888115c8b5935ca173
wap_consumer=a
spuId=7958247815467008
brandId=1710612828
page=1
pageSize=10
timestamp=1616575850000
keyWordNlp=%E5%85%A8%E9%83%A8
_=1616575837670

最后简化后的url,这几个参数缺一不可,我们可以利用requests 中params携带参数的方式,把这些参数带上

https://mapi.vip.com/vips-mobile/rest/content/reputation/queryBySpuId_for_pc?
api_key=70f71280d5d547b2a7bb370a529aeea1
spuId=1183397626621612032
page=1
pageSize=10

如果说我们直接用上面的url直接访问是得不到数据的,因为还有需要请求头,这里有一个坑,那就是cookie中的中文 需要删掉,cookie中会携带你自己的省份和城市 这个需要删除 要不然会报错

head = {
    "referer":"https://detail.vip.com/",
    "cookie":'vip_address=%7B%22pid%22%3A%22101103%22%2C%22cid%22%3A%22101103105%22%2C%22pname%22%3A%22%5Cu6cb3%5Cu5317%5Cu7701%22%2C%22cname%22%3A%22%5Cu90a2%5Cu53f0%5Cu5e02%22%7D; vip_provin550262960_63ea57943137d7888115c8b5935ca173',
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36"
}

3.获取数据

我们分析好了url,现在来看数据,返回的是json数据我们进入json.cn转换一下,可以看到每一条评论数据都在data中

在这里插入图片描述
知道了这些就好写代码了

text=requests.get(url=url,headers=head,params=params).json()
for da in text["data"]:
   dic={}
   try:
       dic["authorName"]=da["reputationUser"]["authorName"]
   except:
       dic["authorName"]=""

三、总结

唯品会的数据爬取很简单,都是常规操作,反爬不是不严重,但是数据奇少

如果说你不想写代码,想直接用爬虫,可以去公众号“阿虚学Python”中回复“唯品会”,获取本篇文章的完整代码,代码我已经设置过了,还是比较人性化的
在这里插入图片描述
好了,这篇文章已经结束了,如果你对爬虫感兴趣,可以关注我的主页 最近都在写一些爬虫案例,主页中已经更新了多个爬虫项目,谢谢大家的观看

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

爬虫项目七:Python对唯品会商品数据、评论数据的爬取 的相关文章

随机推荐

  • 蓝桥杯带刷,带刷!!!

    A m计划 双指针 滑动窗口 倍增 题目描述 小明是个鹅卵石收藏者 从小到大他一共收藏了 nn 块鹅卵石 编号分别为 1 n 价值分别为 a1 a2 an 这天他乘船准备去往蓝桥王国 然而天有不测风云 小明所在的海域下起了暴雨 很快小明船上
  • (python实现)复杂网络中的关键节点识别测评四指标

    一 SIR传播范围 参考代码 Morty Ma 说明 与Morty Ma代码的传播方式不同 换成了从感染节点向邻居传播而不是遍历整个图 把退出循环的条件改成 无感染节点时退出 Morty Ma代码每次按G nodes 的顺序感染节点 且每次
  • Pytorch 神经网络模型量化分析基本框架

    环境准备 1 anaconda官网下载 下载地址https www anaconda com distribution 注意选用该电脑相应的系统和64 32位 已安装Python使用环境的请跳过此步骤 已安装Python使用环境的请跳过此步
  • 简写MKL库windows安装以及python如何调用dll库

    MKL安装 最新MKL库下载地址 Donwload Accelerate Fast Math with Intel oneAPI Math Kernel Library 64位以及32位我直接都安装了 之后配置各种包含目录以及环境变量 网上
  • C++ Web服务器 - MYSQL接入(二)

    newobj跨平台开发框架 https github com Liuccysdgg newobj 上一章已经搭建起运行环境并映射了回调函数 本文目的是搭建个人博客网站 必然少不了数据交互 所以第二章接入MYSQL数据库 知识要点 MYSQL
  • Django解决Model doesn‘t declare an explicit app_label and isn‘t in an application in INSTALLED_APPS

    解决方法 检查在setting里面的INSTALLED APPS中添加了这个App 定位到报错的导入model的部分 如 from models import MyModel 报错 就改为如下等的方法 from apps test app
  • 我在Hadoop云计算会议的演讲

    点击下载演讲稿 由中科院计算所主办的 Hadoop 中国2010云计算大会 于9月4日在北京召开 淘宝网作为国内最大的Hadoop应用商之一赞助与参与了这次会议 我有幸代表淘宝在大会上分享了淘宝在分布式数据处理实践的内容 下面是ppt的一个
  • STM32基础10--实时时钟(RTC)

    目录 前言 RTC框图 STM32实时时钟电路 功能需要 STM32CubeMx配置RTC 配置RCC 配置RTC 配置时间 闹钟 唤醒 开启中断 设置中断优先级 功能代码实现 STM32Cude生成RTC初始化 自定义触发闹钟次数变量 重
  • 淘宝分类导航条;纯css实现固定导航栏

    效果如下 页面如下
  • DELPHI代码

    unit Unit1 mode objfpc H interface uses Classes SysUtils FileUtil Forms Controls Graphics Dialogs ExtCtrls StdCtrls LazL
  • YY社招面试(java高级开发)

    k8s pod之间的通信 网络模式 健康检查 探针 CAP和base理论 分库分表策略 取模 一致性哈希 订单表怎么设计和分库分表 项目扩展性 高可用性 IOC AOP 跳表 redis内存模型 其他记不起来了 jvm内存 分布式锁 spr
  • AXI4-Stream协议的信号以及Xilinx提供的从AXI到AXI-Stream转换的IP核区别

    AXI4 Stream协议是一种用来连接需要交换数据的两个部件的标准接口 它可以用于连接一个产生数据的主机和一个接受数据的从机 当然它也可以用于连接多个主机和从机 该协议支持多种数据流使用相同共享总线集合 允许构建类似于路由 宽窄总线 窄宽
  • LaTex论文格式模板

    LaTex论文格式模板 效果如图 代码 使用的是工具是 VSCode texlive TEX program xelatex documentclass 12pt a4paper article 文档格式 usepackage ctex h
  • RSync详解

    简介 rsync remote synchronize 是一款实现远程同步功能的软件 它在同步文件的同时 可以保持原来文件的权限 时间 软硬链接等附加信息 rsync是用 rsync 算法 提供了一 个客户机和远程文件服务器的文件同步的快速
  • 大数据期末课设~基于spark的气象数据处理与分析

    目录 一 项目背景 3 二 实验环境 3 三 实验数据来源 4 四 数据获取 5 五 数据分析 17 六 数据可视化
  • 【论文精读AAAI_2022】MobileFaceSwap: A Lightweight Framework for Video Face Swapping

    论文精读AAAI 2022 MobileFaceSwap A Lightweight Framework for Video Face Swapping 一 前言 Abstract Introduction Related Work Fac
  • Using a debugger

    Java IDE 中最有用的特性之一就是它们的 debuggers 它可以接入到运行着你的应用的JVM中 允许你在任何位置暂停代码的执行 以便检查应用的状态 要调试 Play 应用 需要将其以 debug 模式启动 然后把你的 debugg
  • FastDFS集群部署和同步机制

    如何选择tracker 当集群中有多个tracker server时 由于tracker之间是对等的关系 客户端在upload文件时可以任意选择一个tracker 如何选择storage 当选定group后 tracker会在group内选
  • 面部五官迁移算法(Python)

    面部器官互换指的是 将一个人的面部器官换到另一个人的脸上 比如将A的眼睛换到B的眼睛上 算法的实现技术要点为 关键点检测 人脸对齐 mask制作 色差矫正 mask融合 关键点检测 是使用的dlib81个关键点模型 人脸对齐是基于放射变换做
  • 爬虫项目七:Python对唯品会商品数据、评论数据的爬取

    文章目录 前言 一 商品数据 1 分析页面 2 分析url 3 解析数据 二 评论数据 1 抓包 2 分析url 3 获取数据 三 总结 前言 用Python爬取唯品会商品数据 评论数据 提示 以下是本篇文章正文内容 下面案例可供参考 一