涉及: python、selenium 、chrome、Jquery
背景
电商平台通过规格式的CSV批量上传产品是很常见的做法,包括亚马逊,Wish, Lazada......等平台都有较好的支持。而阿里系的外贸平台对这一功能支持不是很好,需要购买第三方软件或者有后台授权对API开发相关程序。
最近速卖通也上线批量上传功能,有兴趣的朋友可以自行关注。
今天主要谈一下阿里巴巴国际站通过CSV批量上传产品的可行方法。
一、系统自带方法
国际站系统后台没有对外开放的相应功能,搜索了一下服务市场,服务市场也没有完全匹配的功能,感觉是系统后台的API还不够完善。目前了解到的官方批量上传功能是阿里巴巴国内站点,通过商机助手下载数据包,然后国际站后台有一个比较隐蔽的页面可以上传数据包并且自动翻译。看似比较完美的功能,但是涉及到类目,翻译,会很复杂,应该效果不是很好,更不用说需要开通阿里巴巴国内站点。
二、第三方软件
目前第三方软件分为系统后台在线平台和线下平台。线上平台的工具可能受到API以及管理限制并没有太多提供批量发布产品的工具。
线下平台有一些不错的工具,e助手,店铺管家,对这一功能算是有较好的支持。它们有共同点,都是需要在客户端内实现登陆,然后由程序实现自动化功能。这样的模式进一步证实了一点是:相应的批量发布API并不完善,没有通过API来管理,而是通过模拟登陆的方法,进行后续操作。
我对windows平台程序编程不是很了解,但是这给力我启发,可以通过 selenium + browser完成这些功能。
三、思路
selenium+chrome 完成简单的登录操作不是很难。
进入商品发布页面,通过selenium 表单填写功能可以很容易的填写包括标题,关键词,属性选择等这些简单的填写。
那么,我们制作相应格式CSV,python读取csv数据,然后完成浏览器的制动化就十分简单了。
但是,问题总是不会这么简单,遇到的困难是:
1、 一些属性,比如鞋子表面材质,属性有很多,完整网页是通过动态部分加载展现的,就是点开下拉菜单,需要滑动菜单滚轮才会加载一些并为展现的属性。这就对selenium造成了逻辑比较复杂的问题,虽然selenium可以实现滑动滚轮,但是很容易出错,而且时间不好控制。
2、操作上传图片。selenium能实现对话框的点击,但是在文件选择上,涉及到路径不同,不能完全实现自动化操作。
这两点算是上面这种思路遇到的很大问题,而且并不能很好解决。
优化思路
通过对页面的查看,发现产品上传以及更新,是通过POST实现的。
POST的数据是标准化的json文件。
Selenium 本身对Request类支持不是很好。
要想实现POST请求,需要借助js. 通过selenium->js->request.
中间难点还是比较多,需要分析POST数据,header数据等。
目前我已经实现了程序化修改产品属性并且上传图片。
想要批量上传产品,还需要整理发布商品的数据结构。
不过大概的思路是这样,也是证明可行的。
最后
如果有兴趣的,可以一起交流
网友评论