电商网站商品价格获取方法_电商网站

电商网站商品价格获取方法_电商网站电商网站商品价格获取本文以苏宁易购,京东,两个电商网站,模仿说明电商网站商品价格的两种获取方法。json形式存放,京东商品的价格以json形式存放,以以下页面为例https://item.jd.com/100000287133.html明显价格数据并非放在前端页面里,搜索找到以下数据查看当前的url在浏览器中请求https://p.3.cn/prices/mgets?cal…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

电商网站商品价格获取

本文以苏宁易购,京东,两个电商网站,模仿说明电商网站商品价格的两种获取方法。

json形式存放,京东商品的价格以json形式存放,以以下页面为例
在这里插入图片描述

https://item.jd.com/100000287133.html

明显价格数据并非放在前端页面里,搜索找到以下数据
在这里插入图片描述
查看当前的url
在这里插入图片描述
在浏览器中请求

https://p.3.cn/prices/mgets?callback=jQuery6054119&type=1&area=6_303_36780_0&pdtk=&pduid=1588655612&pdpin=&pin=null&pdbp=0&skuIds=J_100000287133%2CJ_5416604%2CJ_100001477751%2CJ_4741808&ext=11100000&source=item-pc

通常来说call_back包含的内容可以直接去除,将链接处理后得到

https://p.3.cn/prices/mgets?skuIds=J_100000287133
skuIds=J_100000287133 

#分析即可发现j_后的字符串为商品ID,对应商品详情页的链接
请求结果如下:
在这里插入图片描述
接下来,填充主程序。仅作为示例代码,详情数据重新处理

import scrapy
import json

class JgSpider(scrapy.Spider):
    name = 'jg'
    allowed_domains = ['shouji.jd.com','p.3.cn'] #需说明的是在价格详情内域名发生了变化
    start_urls = ['https://item.jd.com/100000287133.html']

    def parse(self, response):

        item = { 
   }

        contain= response.xpath("//div[@class='product-intro clearfix']")

        item["title"] = contain.xpath("./div[@class='itemInfo-wrap']/div[@class='sku-name']/text()").extract_first().strip()
        item["sku_num"] = contain.xpath(".//a[@class='notice J-notify-sale']/@data-sku").extract_first()

        item["price_href"]='https://p.3.cn/prices/mgets?&skuIds=J_{}'.format(item["sku_num"])

        yield scrapy.Request(
            item["price_href"],
            callback=self.price_detail,  #获取价格
            meta={ 
   "item":item}
        )


    def price_detail(self ,response):

        item = response.meta["item"]

        item["price"] =json.loads(response.body.decode())[0]["p"] #json数据遍历方法

        print(item)

需要说明的几点:

allowed_domains = ['shouji.jd.com','p.3.cn'] #需说明的是在价格详情内域名发生了变化
item["price_href"]='https://p.3.cn/prices/mgets?&skuIds=J_{}'.format(item["sku_num"]) #也可直接拼接

代码运行结果如下:
在这里插入图片描述

苏宁易购商品价格获取,与淘宝的逻辑相似存放在主页面但需要正则匹配获取。
在这里插入图片描述
同样以具体的某些页面为例:

https://product.suning.com/0070091633/10717510914.html?safp=d488778a.10038.resultsRblock.12&safc=prd.3.ssdln_502687_pro_pic01-1_0_0_10717510914_0070091633

用同样的方法找到价格
在这里插入图片描述
填充主程序代码:

import scrapy
import re

class SnSpider(scrapy.Spider):

    name = 'sn'
    allowed_domains = ['suning.com']
        
    start_urls=['https://product.suning.com/0070091633/10717510914.html?safp=d488778a.10038.resultsRblock.12&safc=prd.3.ssdln_502687_pro_pic01-1_0_0_10717510914_0070091633']

    def parse(self, response):

        pr=re.findall('"itemPrice":"(.*?)",',response.body.decode())

        print(pr)

运行结果如下
在这里插入图片描述

以上就是主流电商网站的商品价格获取方法,希望对大家的学习工作有所帮助。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187017.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • SpringDataJpa

    SpringDataJpaSpringDataJpa

  • react中父组件向子组件传值

    react中父组件向子组件传值1.子组件代码:定义props.属性名来接收父组件传递过来的值importReact,{Component}from”react”;exportdefaultclassSonextendsComponent{render(){return<div>我是子组件—{this.props.text}</div>;}}2.父组件代码:在引用子组件时,在子组件身上传递数据(用子组件定义的属性来传递)importR

  • 常用的分布式事务解决方案有哪些_分布式事务redis解决方案

    常用的分布式事务解决方案有哪些_分布式事务redis解决方案首页 博客 专栏·视频 下载 论坛 问答 代码 直播 能力认证 高校会员中心收藏动态消息创作中心常用的分布式事务解决方案凌澜星空2018-03-1114:44:5575315收藏466分类专栏:架构高性能网站微服务项目实战文章标签:微服务分布式架构事务一致性版权众所周知,数据库能实现本地事务,也就是在同一个数据库中,你可以允许一组操作要么全都正确执行,要么全都不执行。这里特别强调了本地事务,也就是目前的…

    2022年10月26日
  • 检测IE8及以下的浏览器并安装chrome frame插件

    检测IE8及以下的浏览器并安装chrome frame插件您使用的浏览器需要安装安全控件才能访问系统!点击下载欢迎访问XXX系统!

  • 支持js代码的博客有哪些?[通俗易懂]

    支持js代码的博客有哪些?[通俗易懂]1、支持js代码的博客谷歌博客,雅虎奇摩,博客大巴,jimdo博客,和讯博客要等级(230000分).2、现在新浪博客怎么才能有效的使用js呢在新浪博客放广告,现在网络上主要流行的两种方法,这里尽量简单化的给您说明。把广告以代码形式放到免费空间里,然后链接到你的博客教程如下:(1).登陆googleadsense后台,生成广告代码。(2).将代码贴到纪事本文件,另存为….

  • httprunner(3)用脚手架快速搭建项目[通俗易懂]

    httprunner(3)用脚手架快速搭建项目[通俗易懂]前言如何快速搭建一个httprunner项目呢?我们可以使用脚手架,脚手架就是自动地创建一些目录,形成一个项目的架构,不需要我们再手动的去创建查看创建新项目的命令先来查看一下帮助命令httpr

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号