将淘宝数据包导入自己的商城系统
淘宝网有一个淘宝助理,可以方便的将淘宝店的商品资源导出成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亿在线商品数,上千万的成交.收藏和评价数据.如何 从这些数据中挖掘出真正的商业价值,进而帮助淘宝.商家进行企业 ...
最新文章
- c# uri 取文件名_asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码...
- Spring8:一些常用的Spring Bean扩展接口
- MyBatis整合Spring的实现(2)
- Unity2D实现贴图凹凸感并接受实时光照效果
- 牛客网剑指offer编程实践11-20题
- linux命令wget多个参数,wget 命令参数使用方法
- linux 针对目录空间配额,linux磁盘配额quota
- “源文件与模块生成时的文件不同,是否希望调试器使用它?”解决方案
- java压缩图片等比缩放_java对图片进行压缩和resize缩放的方法
- BIM工程信息管理系统-EF实体框架数据操作基类
- 如果企业级客户不爽,亚马逊AWS该怎么办?
- 2019-07-03
- uniapp在微信公众号中获取定位得到经纬度
- 12.2版本数据库ORA-20001: Statistics Advisor: Invalid task name for the current user
- selenium Gird
- 什么是数据源?如何配置数据源?
- 微信小程序与servlet交互
- iPhone检测是否存在耳麦
- 如何经营咖啡加盟店和独立咖啡店?用好国外成功经营咖啡馆四大法则
- omap3isp上层应用解析