最近有个朋友跟我说溜达吧采集的时候不能采集到某个店铺的信息。于是我自己去试试,结果发现真的不行,而后我进去淘宝客后台去试试搜索,结果想要的店铺是能显示出来的。这究竟是什么问题呢?自己想到的问题可能性有2个:
1.pinphp的淘宝API有问题?
2.是否是因为溜达吧还没审核通过上线呢?
于是我想象跟pinphp用一样框架的微购系统,此系统跟pinphp一样是用thinkphp框架的,所以试试微购的采集系统对比一下代码,不就能发现问题所在么?
以下是pinphp的采集截图:
对比一下微购的:
采集到是数据明显不同,而不同的地方在于佣金比率。于是把pinphp的佣金比率设置成1%-10%,结果采集到的数据也只有寥寥几个,而且佣金比率也就只有10%的。把佣金比率再调低一点,发现数据未能显示10%以下的数据。终于把问题了解清楚了,是官方的程序有问题,要么就是程序有问题,要么就是压根没写佣金比率的设置语句。
清楚原因所在了,剩下的就是解决它。因为我是前端工程师,不是很懂php代码,但是普通的东西还是能看懂的,于是找到后台采集的页面,collect_alimama,于是找到对应的action模块:collect_alimamaAction.class.php。具体代码241,242的位置:
$req->setStartCommissionRate(1000);
$req->setEndCommissionRate(2000);
setStartCommissionRate是设置佣金比率的开始值,setStartCommissionRate是设置佣金比率的结束值。
代码很清楚告诉我们,官方是设置死了佣金比率,10%-20%的值,所以我们想要采集10%以下的自然不行。但是至少官方应该预留一个接口可以设置佣金比率。
好了,知道问题代码,于是修改一下,问题迎刃而解了。
把刚才上面的代码注释一下,加上以下代码:
$map['setStartCommissionRate'] && $req->setEndTotalnum($map['end_totalnum']); //佣金比率开始值
$map['setEndCommissionRate'] && $req->setStartCredit($map['start_credit']); //佣金比率结束值
至此问题解决,也可以在自行设置佣金比率。