[Python] python + selenium 抓取 京东商品数据(商品名称,售价,店铺,分类,订单信息,好评率,评论等)

您所在的位置:网站首页 取商品名称颜料类的名字 [Python] python + selenium 抓取 京东商品数据(商品名称,售价,店铺,分类,订单信息,好评率,评论等)

[Python] python + selenium 抓取 京东商品数据(商品名称,售价,店铺,分类,订单信息,好评率,评论等)

2024-07-13 20:23| 来源: 网络整理| 查看: 265

 

目录

一、环境

二、简介

三、京东网页分析

1.获取商品信息入口--商品列表链接获取

2.获取商品信息入口--商品详情链接获取

3.商品详情获取

4.商品评论获取

四、代码实现

五、运行结果

六、结语

一、环境

       win10 + python 3.7 + pycharm64 + selenium

二、简介

       抓取京东商品页面信息:商品名称,售价,店铺,分类,订单信息,好评率,评论等----这里以'每周一花'为例

三、京东网页分析

       采集思路如下:

此次主要采集以下字段数据:

title:商品名称 price:售价 brand:品牌 shop_name:店名 weight:商品重量 user:适用人群 classify:商品分类 comment_num:系列商品总评论数 praise_degree:系列商品总好评度 tag_list:系列商品总评价标签 single_comment_num:当前商品评论条数 single_tags:当前商品评价标签 member:顾客会员级别 star:评星等级 comment:评语 pic_num:评论图片数/视频数 order:订单详情(包含订单形式、下单日期等) 1.获取商品信息入口--商品列表链接获取

        爬取商品信息首先得有商品信息入口,这里直接从京东的分类中进入商品列表页面,没有对搜索关键词进行处理,仅处理了商品的页码。

       翻看网页,发现共有16页,想用点击下一页(click()的方式)实现翻页,获取每一个商品列表链接。

       这里有个坑需要注意:class='pn-next disabled',在第16页依旧可以找到,如果以此设置click() 在第16页后依旧会执行,抓取到别的类目的链接。

踩坑后用设置url的方式获取商品列表链接。

翻看多页发现url里的页码关键字:

page:页码(奇数递增)

s:sku数(page*60+1)

构建请求url:

url='https://search.jd.com/Search?keyword=%E6%AF%8F%E5%91%A8%E4%B8%80%E8%8A%B1&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&wq=%E6%AF%8F%E5%91%A8%E4%B8%80%E8%8A%B1&page='+str(i*2+1)+'&s='+str(i*60+1)+'&click=0'

网页对搜索关键词进行了加密,将 ‘ 每周一花 ’ 转化为 ' %E6%AF%8F%E5%91%A8%E4%B8%80%E8%8A%B1 '

可以用 request.unquote()对其解密

一共16页,用for循环获取所有商品列表链接:用urltrue_list接收数据

#获得 京东每周一花的16个商品列表链接 这里可以定义函数,传入要抓取的关键字或页数,使其更加灵活 urltrue_list=[] for i in range(16): url='https://search.jd.com/Search?keyword=%E6%AF%8F%E5%91%A8%E4%B8%80%E8%8A%B1&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&wq=%E6%AF%8F%E5%91%A8%E4%B8%80%E8%8A%B1&page='+str(i*2+1)+'&s='+str(i*60+1)+'&click=0' urltrue=request.unquote(url) urltrue_list.append(urltrue) 2.获取商品信息入口--商品详情链接获取

打开商品列表链接,每一页都有60个商品,如果直接抓取会发现只能抓到30个,原因是:后30条信息是动态加载的



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3