Top Menu

抓取淘宝店铺的信用等级数据

今天尝试抓取淘宝店铺的信用等级,由于淘宝的信用等级是按照图片来进行显示的,所以需要根据显示的图片来转换到对应的信用等级。

2014-04-19_14-37-10

查看淘宝的源码,发现店铺的信用在店铺首页的如下代码中

在代码中 data-spm-anchor-id="a1z10.1.0.0" 这个参数网上没有相关信息,个人理解应该是某种追踪参数。

在img的代码中,可以获取到src值,值的最后 s_blue_1.gif 就是信用等级,只需要取得该值然后分解为相应的参数即可。

在simplehtmldom中可以通过 $html->find('.rank',0)->getAttribute('src') 获取到图片的链接

然后通过下面的函数来取得文件名

函数输出结果: s_blue_3.gif

然后对结果进行分析

函数输出数组: array(3) { [0]=> string(1) "s" [1]=> string(4) "blue" [2]=> string(1) "3" }

数组第一个值是一个前缀

数组第二个值对应信用的等级

数组第三个值从1到5,分别对应每个等级的皇冠数量

然后是抓取店铺动态评分

最后抓取的成果

2014-04-19_18-19-05

对错误反馈进行分析

1.店铺没有评价

2014-04-19_18-40-01

解决方法:通过 if($shop_rate_desc=='') 判断,为空则无评价

2.店铺已关闭

2014-04-19_18-54-59

解决方法:通过 if($html->find('.shop-rate',0)) 和 elseif($html->find('.shop-credit',0)) 判断,都不符合就可判断为无店铺信息

There are no comments yet

  • Hello, guest

Powered by WordPress. Designed by WooThemes