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

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


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)

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

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

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • alexa全球排名怎样获取_非法访问是什么情况

    alexa全球排名怎样获取_非法访问是什么情况记录日期:2018.9.27标题测试开始于Censored*标签google.com3月2011100%Blocked,Domains,AlexaTop1000Domains,GoogleSites,URLsyoutube.com2月2011100%Blocked,Domains,AlexaTop1000Domains,URLsf…

    2022年9月3日
  • JS刷新当前页面的方法总结

    JS刷新当前页面的方法总结一、刷新页面方法介绍1.reload()该方法强迫浏览器刷新当前页面。语法:location.reload([bForceGet])参数:bForceGet,可选参数,默认为false,从客户端缓存里取当前页。true,则以GET方式,从服务端取最新的页面,相当于客户端点击F5(“刷新”)reload()方法用于重新加载当前文档。如果该方法没有规定参数,…

    2022年7月12日
  • XRay安装使用以及Burp联动

    XRay安装使用以及Burp联动0x00前言XRay是长亭科技洞鉴核心引擎中提取出的社区版漏洞扫描神器,属于一款功能十分强大的国产被动扫描工具,其应用范围涵括,Web通用漏洞扫描、被动代理扫描、社区POC集成……XRay的定位是一款安全辅助评估工具,而不是攻击工具,其内置的所有payload和poc均为无害化检查。毫不犹豫的说,XRay属于渗透测试人员安全渗透的一大神兵利器!可以想象,当Burp与XRay联动时,必将碰撞出不一样的火花!0x01下载XRay…

    2022年5月7日
  • 推荐几个基于.net的cms系统

    推荐几个基于.net的cms系统 建站必备啊,.net的不如PHP的那么多那么好用,这几个也还可以了。

    2022年7月2日
  • java内部类和静态内部类区别_静态内部类对象的创建

    java内部类和静态内部类区别_静态内部类对象的创建在阅读JavaCollectionFramwork时,LinkedList中有个静态内部类:privatestaticclassNode<E>{Eitem;Node<E>next;Node<E>prev;Node(Node<E>prev,Eelem…

    2022年10月11日
  • 第十一讲:独立成分分析(Independent Components Analysis )

    第十一讲:独立成分分析(Independent Components Analysis )接下来我们要讲的主体是独立成分分析(IndependentComponentsAnalysis,缩写为ICA)。这个方法和主成分分析(PCA)类似,也是要找到一组新的基向量(basis)来表征(represent)样本数据。然而,这两个方法的目的是截然不同的。还是先用“鸡尾酒会问题(cocktailpartyproblem)”为例。在一个聚会场合中,有n个人同时说话,而屋子里的任意…

    2022年5月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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