将淘宝数据包导入自己的商城系统

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 淘宝网有一个淘宝助理,可以方便的将淘宝店的商品资源导出成csv格式的数据包。很多商城系统为了能快速输入商品,都会要求开发者能最大限度的利用淘宝数据包直接导入产品数据。 当然,数据包的产品字段与商城的产品表字段肯定不可能完全一致,但"宝贝名称","宝贝价格","宝贝描述"这三个字段,几乎是所有商城系统都有的.

淘宝网有一个淘宝助理,可以方便的将淘宝店的商品资源导出成csv格式的数据包。很多商城系统为了能快速输入商品,都会要求开发者能最大限度的利用淘宝数据包直接导入产品数据。

当然,数据包的产品字段与商城的产品表字段肯定不可能完全一致,但"宝贝名称","宝贝价格","宝贝描述"这三个字段,几乎是所有商城系统都有的.


下面是二种处理方法:

一、直接分析csv

1.淘宝的csv数据包是用"\t"做为字段间的分隔符,每行数据是用"\n"做为行分隔符
2.要注意的是:宝贝描述(html代码)本身也会包含换行符号,不过不是"\n",而是"\r\n"---幸好是这样,不然的话,宝贝描述本身的换行符与数据每行的分隔符混在一起,就很难区分了.

下面是示例关键代码;

if (IsPostBack)
 {
       HttpFileCollection fc = Request.Files;
                
        for (int i = 0; i < fc.Count; i++)
         {
                HttpPostedFile _file = fc[i];
                string ext = Path.GetExtension(_file.FileName).ToLower();
                string type = _file.ContentType;
                if (ext == ".csv" && type == "application/vnd.ms-excel")
                    {
                        StreamReader sr = new StreamReader(_file.InputStream);

                        string sHeader = sr.ReadLine();
                        string sBody = sr.ReadToEnd();

                        string sTemp = sBody.Replace("\r\n", "");//将宝贝描述html代码中的"\r\n"去掉

                 string[] arrData = sTemp.Split('\n'); //这里已经将每行的数据保存到数组arrData里了,数组里的每个元素再用"\t"拆分,就是每行各字段的值

//...


优缺点:通用性强,也不依赖于其它任何组件,简单高效。但是如果以后淘宝的html编辑器修改了,比如保存时把"\r\n"换成"\n",这种方法就不管用了.


二、借用oledb把数据包当作db来操作

oledb可以方便的操作access,excel等内容,我们可以把cvs文件在excel里另存为xls格式,然后就可以用oledb连接,用sql来查询了

HttpFileCollection fc = Request.Files;

                if (fc.Count <= 0) {
                    Utils.Alert("请先上传数据包!", "javascript:window.history.back");
                }

               
                for (int i = 0; i < fc.Count; i++)
                {
                    HttpPostedFile _file = fc[i];
                    string ext = Path.GetExtension(_file.FileName).ToLower();
                    string type = _file.ContentType;
                    if (ext == ".xls" && (type == "application/octet-stream"))
                    {
                        string _path = Server.MapPath("/upload/xls/");
                        Utils.CreateDir(_path);
                        string _filePath = _path + "product.xls";
                        _file.SaveAs(_filePath);//先保存到服务器

                        DataTable dtTable = new DataTable();

                        #region
                        using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + _filePath + ";Extended Properties=Excel 8.0;"))
                        {
                            conn.Open();

                            //获取Sheet的名字。
                            DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, new Object[] { null, null, null, "TABLE" });
                            OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [" + schemaTable.Rows[0]["TABLE_NAME"] + "]", conn);//默认查询第一个工作表
                            try
                            {
                                adapter.Fill(dtTable);
                            }
                            catch (Exception ex)
                            {
                                //...
                            }
                        }

                        //to do list。。。

                    }                   
                    else {
                        Utils.Alert("数据包格式不对!", "javascript:window.history.back()");
                    }
                }

优缺点:使用方便,可以把数据包当成常规的DataTable来操作,方便了数据库开发人员。但是服务器上必须要有oledb组件(而且oledb在64位系统下默认是跑不起来的)

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
打赏
0
0
0
0
38
分享
相关文章
微信综合购物商城小程序ui模板源码
微信电商小程序前端页面,综合购物商城ui界面模板。主要功能包含:电商主页、商品分类、购物车、购物车结算、我的个人中心管理、礼券、签到、新人专享、专栏、商品详情页、我的订单、我的余额、我的积分、我的收藏、我的地址、我的礼券等。这是一款非常齐全的电商小程序前端模板。
253 4
【易售小程序项目】私聊功能后端实现 (买家、卖家 沟通商品信息)【后端基于若依管理系统开发】
【易售小程序项目】私聊功能后端实现 (买家、卖家 沟通商品信息)【后端基于若依管理系统开发】
197 0
快递平台独立版小程序源码|带cps推广营销流量主+前端
快递平台独立版小程序源码|带cps推广营销流量主+前端
322 7
快递平台独立版小程序源码|带cps推广营销流量主+前端
购物|电商购物小程序|基于微信小程序的购物系统设计与实现(源码+数据库+文档)
购物|电商购物小程序|基于微信小程序的购物系统设计与实现(源码+数据库+文档)
172 0
消费全返商城系统开发详细指南/步骤需求/功能设计/源码程序
开发消费全返商城系统需要综合考虑多个方面,包括系统功能、技术架构、用户体验等。
一套前后台全部开源的H5商城送给大家
一套前后台全部开源的H5商城送给大家
576 0
微信小程序直播间开发抽红包功能
小程序直播具备评论、点赞、连麦、拍一拍等丰富的互动功能,抽奖、优惠券等高效的营销功能,以及成员管理、评论管理、推流直播、数据看板等完善商家工具。通过引入小程序直播组件,商家自有小程序可快速具备直播能力,提升经营效率。
313 0
微信小程序直播间开发抽红包功能
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
482 0
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务

热门文章

最新文章