外贸人该懂点儿技术 - Magento2 篇我爱编程

Magento2.2 如何快捷的生成产品list方便直接导入

2018-02-10  本文已影响20人  StillWater_7e10

Magento 作为电商系统,在功能完备,以及操作简便方面必须做出取舍。功能完备,会导致一些操作很麻烦。

电商运营中有很多繁杂的工作,其中产品上传一定是很让人头痛的,各个平台有自己的数据结构,同一个产品要发到不同的平台必定需要做不同的数据表。

电小秘等ERP在这中间还是有不少方便之处的,电小秘通过采集数据然后生成不同平台的数据表,只需要修改很少的数据就能将产品从一个平台上传到另外的平台。

目前电小秘还没有对Magento进行支持,这些工作就只有自己完成了。

思路是:

1、从现有平台抓取产品数据,生成产品json数据,方便后续使用以及以后可能要用到的地方。

2、为了数据的重复使用,步骤一没有直接生成需要的数据表。利用json作为数据储存,生成Magento相适应的product list,这里magento使用的是csv文档

3、导入csv文档

实现过程:

1、抓取产品数据的方法有很多,直接用python,或者第三方库scrapy. 但是这两种方法的局限性是目前众多网站在防爬虫方面都做了很多工作,不是以前发生请求,链接就能获取数据了。我没有深入了解python、scrapy,但是如果要完全模拟浏览器环境,需要对网站有很深的分析,cookie,session,token等一样都不能少。    selenium在这方面有不错的优势,目前selenium有单机模式以及远程模式,同时还可以多机部署。多的我不说了,朋友们自己去了解。用selenium爬取产品信息,生成json文档。

2、这一步里就是简单的python处理json文档和csv文档的操作。值得注意的一点是,在写入数据的时候,两种操作模式

with open('products.csv','w+',newline='' )as csvfilea:

with open('products.csv','a+',newline='' )as csvfilea:

w+是覆盖模式,将文档覆盖最新的信息

a+是追加模式,在文档末尾添加新信息

为什么要用’+‘呢,我尝试过不添加+,会让数据变成乱码。

我的猜测是,csv文档添加的是对象,对象需要访问文档第一行的key值才能在对应的地方生成value. 因为python中字典是没有顺序的。

3、将生成的csv导入magenta. 这里需要尝试多次,因为生成的数据有可能不符合要求,需要不断调整后,就能方便的使用了。

好了,介绍到这里,这些看似简单,但是中间会遇到很多问题,可以一起交流优化。

上一篇下一篇

猜你喜欢

热点阅读