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

干货内容包括:

  1. 如何爬取商品信息?

  2. 如何爬取下一页?

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

第一步:在网站注册号KEY和密钥

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

第三步:充值就可以使用

京东以下接口的选择

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去获取。

爬取数据

1.编程实现

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("-----")    

图片

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐