前言
最近有厂商提出想把天猫店铺的数据拿到后台ERP管理系统中,并能实现线下打印电子面单功能。接手这个需求按照度娘给的指引,申请天猫开发者帐号,但是。。。大厂把订单传送接口关了,只对厂商自研软件开放,还需要租用聚石塔。一系列操作真是上天了,没办法走通,最后没办法采用数据抓取方式曲线救国。
实现思路
1、由用户手工登录淘宝店铺,通过解密GOOGLE-COOKIES得到淘宝网站登录中的cookies。
2、通过cookies对淘宝订单网页自动定时下载订单数据。
3、解析订单数据含义,其中包含商品信息、物流信息、订单号、客户手机号、地址等重要信息保存。
4、与本地业务系统对比进行插入保存,包含退货信息。
5、开通快递鸟接口,实现电子面单打印。
代码片段参考
1、WINDOWS环境解密COOKIES,获取正确的COOKIES
Chrome的Cookie默认是加密的,是一个SQLite3文件,根据不同的操作系统位于https://chromium.googlesource.com/chromium/src/+/master/docs/user_data_dir.md所述的路径中,例如:C:\Users\Alice\AppData\Local\Google\Chrome\User Data\Default\Cookies。
这里特别感谢http://www.meilongkui.com/archives/1904文章大神,从本质上解决了问题,并且还分别讲述了V10和V11解决问题办法。
首先我们按照SQLITE连接方式取出加密Cookies
通过解密方法获取正确Cookies
接下来我们设置定时器,隔XX秒通过天猫数据地址加上上面COOKIES抓取数据,注意间隔时间不能太短,并且间隔时间如果能设置一个随机数更好,避免被列为异常网站,打入冷宫,需要手机或滑动条验证等问题,例如
https://trade.taobao.com/trade/itemlist/list_sold_items.htm
其中抓取数据注意HTTP头设置。
最后我们通过抓取数据进行分析保存。
其中会包含购买用户信息,商品信息,库存信息,物流信息等。
最后说下电子面单的实现过程。
1、我们登录快递鸟申请免费KEY,并通知客户申请对应快递客户号(部分不用)。快递鸟提供了对应电子面单开发文档,开发例程,接口测试等,比较方便,并且免费。
2、使用官方调用示例改造即可
笔者采用的是JAVA Application无界面BAT启动JAR包形式数据抓取,最后实现效果如下。
时间仓促,写的比较简单,欢迎交流!