当我们从阿里巴巴的商品网页源代码中搜索详细信息时,会发现网页源代码中没有这些数据。这是因为阿里巴巴的商品详细信息是用AJAX技术动态显示的,也就是通常所说的脚本显示。因此要获取详细信息,只要找到这个包含商品详细信息的脚本网址即可。
1、获得脚本网址
直接分析网页源代码对于不够精通HTML语言、JS语言的朋友来说比较困难,因此我们通过一些工具能快速找到这个网址,例如最新IE8/IE9里的开发人员工具、抓包软件等都可以。
例如,在IE中,按F12打开开发人员工具后,点脚本,然后在搜索栏里输入一句商品详细信息中的字符串,就可以快速找到这个脚本并获得它的网址;
(注:使用抓包软件的获得网址的方法,请用户自行百度该软件教程)
通过工具软件,我们能快速找到这个脚本网址类似“laputa.china.alibaba.com/offer/ajax/OfferDesc.do?offerId=XXXX&callback=rndXXXX”
这个网址有两个参数,我们只能从商品网页源代码中获得offerid=xxx这一个参数(最新版ET的采集页下级页面分析规则支持多参数),所以我们尝试将第二个参数callback=rndXXXX去掉来访问这个网址,但不能获得正确的内容。
然后我们再将这个参数改为一个固定值,例如callback=rnd1,然后访问网址“laputa.china.alibaba.com/offer/ajax/OfferDesc.do?offerId=XXXX&callback=rnd1”。
查看结果,我们获得了正确的商品信息内容。
由此可知,第2个参数不影响我们采集信息,只需要把它改为随便一个固定值即可。
2、设置采集配置-采集页
现在我们使用采集配置-采集页功能,在内容页中用“下级页面网址规则”的页面地址标记获得参数offerId的值,然后在“下级页面网址合成”中,合成为“laputa.china.alibaba.com/offer/ajax/OfferDesc.do?offerId=<%fileid%>&callback=rnd1”,然后新建一个采集页“商品详细信息页”。
3、关联数据项
正确设置用于采集商品信息的数据项的分析规则,然后在采集配置-采集页中将它关联到“商品详细信息页”。
到此,关于这个商品详细信息的相关设置就已经完成。
最后和一般采集规则做各个相同的设置步骤即可,我们采集如淘宝等其他用脚本显示内容的网页时都可以使用这种方法。