写点什么

教你用 python 爬取『京东』商品数据,原来这么简单!

  • 2024-03-22
    江西
  • 本文字数:952 字

    阅读完需:约 3 分钟

本文将从小白的角度入手,一步一步教大家如何爬取『京东』商品数据,文中以【笔记本】电脑为例!


干货内容包括:

  1. 如何爬取商品信息?

  2. 如何爬取下一页?

  3. 如何将爬取出来的内容保存到 excel?

通过 api 的接口可以快速的获取商品的数据,例如商品颜色,价格,评论等

第一步:注册号KEY和密钥

第二步:确定好需要的接口

第三步:充值就可以使用

京东以下接口的选择

item_get 获得 JD 商品详情

item_sku 获得 JD 商品 sku 信息

item_cat_get 获得 JD 商品类目信息

item_get_desc 获得京东商品描述

item_search 按关键字搜索商品

item_search_img 按图搜索京东商品(拍立淘)

item_search_shop 获得店铺的所有商品

item_history_price 获取商品历史价格信息

item_recommend 获取推荐商品列表

upload_img 上传图片到 JD

item_review 获得 JD 商品评论

item_get_app 获得 JD 商品详情原数据

cat_get 获得 jd 商品分类


2

分析网页结构


1.查看网页

在『京东商城』搜索框输入:笔记本




链接如下:


https://search.jd.com/search?keyword=笔记本&wq=笔记本&ev=exbrand_联想%5E&page=9&s=241&click=1
复制代码


在浏览器里面按 F12,分析网页标签(这里我们需要爬取 1.商品名称2.商品价格3.商品评论数


2.分析网页标签

获取当前网页所有商品



可以看到在 class 标签 id=J_goodsList 里 ul->li,对应着所有商品列表


获取商品具体属性



每一个 li(商品)标签中,class=p-name p-name-type-2 对应商品标题,class=p-price 对应商品价格,class=p-commit 对应商品 ID(方便后面获取评论数


避坑:

这里商品评论数不能直接在网页上获取!!!,需要根据商品 ID 去获取。


3

爬取数据

url="https://search.jd.com/search?keyword=笔记本&wq=笔记本&ev=exbrand_联想%5E&page=9&s=241&click=1"res = requests.get(url,headers=headers)res.encoding = 'utf-8'text = res.text
selector = etree.HTML(text)list = selector.xpath('//*[@id="J_goodsList"]/ul/li')for i in list: title=i.xpath('.//div[@class="p-name p-name-type-2"]/a/em/text()')[0] price = i.xpath('.//div[@class="p-price"]/strong/i/text()')[0] product_id = i.xpath('.//div[@class="p-commit"]/strong/a/@id')[0].replace("J_comment_","") print("title"+str(title))    print("price="+str(price))    print("product_id="+str(product_id)) print("-----")
复制代码



用户头像

还未添加个人签名 2023-11-13 加入

还未添加个人简介

评论

发布
暂无评论
教你用python爬取『京东』商品数据,原来这么简单!_API 接口_技术冰糖葫芦_InfoQ写作社区