爬虫获取Amazon Payments

发布于:2022-12-12 ⋅ 阅读:(662) ⋅ 点赞:(0)

今天我们聊聊Payments报表是怎样获取的。

01知识点

先讲几个概念性的知识。

1)Payments

付款报告,是Amazon自动生成的与卖家的结算数据报表,卖家可以在此了解指定结算周期内的交易细目、资金往来。

Payments精确到每一笔明细,也就是order,这个order不单单是卖家的销售order,包括其他费用也是,比如coupon、deals或者remove等。

2)爬虫

是一个程序或者脚本,可以按照一定的规则,让系统自动爬取网络上的信息,现在用的比较多的爬虫语言是Python。

02设计方案

1)确定方案

Payments是没有对外api的,只能采取爬虫形式获取,我们可以用爬虫模拟人工点击,打开菜单,选择条件,点击下载文件,再将文件传至系统服务器,解析后保存到数据库里。

2)搭建开发环境

Payments是没有对外api的,只能采取爬虫形式获取,所以首先需要搭建开发环境。

这里要注意,Payments不同于review那些,是需要登录后台的,要知道,Amazon对于账号登录是有很强的关联判断,所以要做好防关联措施。

我们可以在每个账号对应的虚拟机(宝莲云等)搭建一套开发环境,爬取该账号的后台数据。

3)确定路径

Reports >> Payments >> Standard Orders/Invoiced Orders >> Date Range Reports >> Generate Report,点击Download;

4)设置定时任务

按实际需求,按天、周、月都可以,一般根据公司的运营会议频次来定,或者说出损益表的频次,比如我们公司按周统计损益表,我们就是一周下载一次。

同时,因为爬虫的不稳定性,可能一次下来因为一些原因失败,建议多几次任务。

定时任务该这样写:

新建定时任务,每周天从0点开始,每隔3h执行一次,选取日期范围为上周六到本周六的数据,按结算单号覆盖最新的数据,添加上系统日期

为什么要到本周六而不是本周五?像欧洲因为时差原因,选择本周五的话,晚上22点之后两个小时的数据会获取不到的。

5)获取字段

因为不同站点语言不一样,我拿英文的举例下。

  • date/time(日期)

  • settlement id(结算单号)

  • type(类型)

  • order id(订单号)

  • sku(sku)

  • description(产品描述/名称)

  • quantity(数量)

  • marketplace(市场)

  • fulfilment(配送方)

  • order city(城市)

  • order state(州)

  • order postal(邮编)

  • tax collection model(税收模式)

  • product sales(商品价)

  • product sales tax(商品税)

  • postage credits(配送费)

  • shipping credits tax(配送税)

  • gift wrap credits(礼品包装费)

  • giftwrap credits tax(礼品包装税)

  • promotional rebates(促销折扣费)

  • promotional rebates tax(促销折扣税)

  • marketplace withheld tax(商场预扣税)

  • selling fees(营业税)

  • fba fees(FBA物流费)

  • other transaction fees(其他交易费)

  • other(其他)

  • total(合计)

可以看下右边的中文注释,这些是我自己翻译的,我们在菜单展示的时候要用中文,不要直译或者谷歌&百度翻译,会很奇怪,这里有两个技巧:

  • 下载的报表表头是根据站点显示对应的语言的,比如法国显示法语、德国显示德语,所以需要做好表头字段转换对应,要考虑到所有语言;

  • 可以转化为我们自己的系统意思,差几个字也无所谓,表达出结果没错就好。

同时要注意,不同的站点下载的报表表头字段不一样的,有些国家有这个,有些国家没有,比如日本有Amazon积分的费用。

6)关联字段

关联字段就是根据爬到的字段关联出另外一些我们需要的字段。

  • 公司产品信息:根据sku关联我们自己的系统维护的数据,比如公司的产品编码、品牌、系列等;

  • 字段统一:比如说类型或者说明,我们会定义比较规范的几个,或者适应我们公司的一些,按这个处理后续数据;

  • 是否其他平台订单:Payments也会把非Amazon销售,但是通过Amazon发货,比如FBA,这种费用产生的订单也会记录,Shopify等,这类订单其实不属于Amazon运营的小伙伴,就要区分开来,加个字段,可以通过order id去关联对应的平台;

  • 账号所属公司:可以根据账号关联出所属公司;

  • 填充sku:像是coupon、deal、remove这些,Payments是没有sku的,但是对应的子报表有,就可以根据账号+站点+order+费用去关联出,如果子报表出现多行(或多个sku),建议拆分处理,因为要精确到每个sku,这是最准确的数据;

  • ...

7)建立菜单

拉取数据后需要在界面展示,菜单简单一些就好,正常的web端表单菜单,有一些查询、重置、导出按钮,有一些查询条件就够了。

这里可以有两个菜单:

  • 一个可以是爬取的历史数据,即爬下来未经过任何处理的,这个为了后续可以查数据;

  • 另一个是经过一些规则处理的,比如填充部分字段、拆分、合并等。

8)报表分析

Payments是为了分析Amazon损益表的,它是损益表的基础数据,当然,要完成损益表分析,还会加上其他报表,要综合来看。

9)其他注意事项

  • 一定要多次爬取,或者有失败重爬机制,同时要注意做好防关联措施;

  • Payments有跟很多子报表关联,比如前面提到的各类费用报表,这些里面是有sku的,就可以根据账号+站点+order+某个费用金额匹配出子报表的sku;

  • Amazon官方的一篇解释:

    https://sellercentral.amazon.co.uk/gp/help/external/201634550?language=zh_CN

10)第三方平台推荐

如果自己的技术处理不了,可以采取对接第三方平台,比如紫鸟浏览器等。

希望简单的一些文字对大家产品方面的学习有些帮助。

关注微信公众号,获取更多产品信息:PMThoughts

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到