将淘宝数据包导入自己的商城系统
淘宝网有一个淘宝助理,可以方便的将淘宝店的商品资源导出成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();#regionusing (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位系统下默认是跑不起来的)
将淘宝数据包导入自己的商城系统相关推荐
- 将淘宝数据包导入到自己的商城系统
淘宝网有一个淘宝助理,可以方便的将淘宝店的商品资源导出成csv格式的数据包.很多商城系统为了能快速输入商品,都会要求开发者能最大限度的利用淘宝数据包直接导入产品数据.最近正好有这样一个需求,就研究了一 ...
- ECshop导入淘宝数据包乱码问题解决方法
ECshop在导入淘宝数据包的时候出现数据乱码. 测试版本 ecshop2.73 利用淘宝助手导出一个数据包(.csv),不要一次全部商品导出,最好是将数据包控制在1M左右,因为ecshop对上传文件 ...
- C# 淘宝数据包下载,生成csv格式。可直接通过淘宝助理上传到淘宝店铺
核心代码: #region 打包下载/// <summary>/// 淘宝数据包下载,生成csv格式.可直接通过淘宝助理上传到淘宝店铺/// </summary>/// < ...
- 用ECSHOP增强工具把淘宝数据包批量上传到自己的ECSHOP独立网店
www.shopfw.net 用ECSHOP增强工具把淘宝数据包批量上传到自己的ECSHOP独立网店.完整保留商品的颜色.尺码.库存.货号.重量.首页图.详情图.商品描述.扩展属性等信息.对于网店中缺 ...
- 用SHOPEX增强工具把淘宝数据包批量上传到自己的ShopEX独立网店
用SHOPEX增强工具把淘宝数据包批量上传到自己的ShopEX独立网店.完整保留商品的颜色.尺码.库存.货号.重量.首页图.详情图.商品描述.扩展属性等信息.对于网店中缺少的规格,软件会自动添加,无需 ...
- API 生成淘宝数据包 拍拍数据包 差异
这里我主要分析淘宝的CSV数据包.首先,特别强调一下,虽然同属于CSV的格式,但是淘宝的CSV格式要求保存为Unicode,而拍拍的需要保存为UTF-8.因此,这个前提不注意,你做出来的数据包导入到淘 ...
- 淘宝数据包转ECSHOP数据包的操作步骤
一:将淘宝CSV转化为ECSHOP可识别的CSV文件 1) 将采集软件导出的CSV文件导入淘宝助理,然后淘宝助理整理稍作检查下,将数据导出为淘宝助理5.0 CSV标准数据包 二:tbi文件批量重命名 ...
- php读取淘宝数据包csv文件 unicode ucs-2 utf-16 中文乱码问题解决
因为要解决这个问题 学习了很多关于编码.字符集的内容 下面是解决方案 function fopen_utf8($filename){ $encoding=''; $handle = fopen($fi ...
- python爬取淘宝数据魔方_淘宝数据魔方技术架构解析
淘宝网拥有国内最具商业价值的海量数据.截至当前,每天有超过30亿的店铺.商品浏览记录,10亿在线商品数,上千万的成交.收藏和评价数据.如何 从这些数据中挖掘出真正的商业价值,进而帮助淘宝.商家进行企业 ...
最新文章
- 面试官:如何停止一个正在运行的线程?我一脸蒙蔽...
- JavaScript四(DOM编程)
- POJ 3322 Bloxorz I(BFS)
- Cpp拾零(to be continued)
- appium学习记录1
- POI EXCEL读取 性能问题
- 福布斯中国2020科技女性榜:蓝港互动廖明香、百度李莹等上榜
- redis和oracle同步方案,redis与oracle之间怎么实现数据同步?
- linux断点续传程序,Linux下怎么实现断点续传
- CentOS安装vim
- Linux系统裁减之,制作一个极度精简的Linux-5-重新编译login去除对pam模块的依赖...
- Msmq设计文档(赋源代码)
- 前端开发——图片标注工具
- qemu-img 镜像转换工具使用
- Windows11下安装MongoDB
- 架构 - 5种常见的软件架构
- 台式电脑投影切屏快捷键_电脑投影切屏快捷键
- Valens HDBaseT VCN2K HDMI 1.4接收/发送
- [转]用天文方法计算日月合朔(新月)
- 非域环境下搭建文件服务器,非域环境下SQL Server搭建Mirror(镜像)的详细步骤...