爬取商品详情网址是:http://mdskip.taobao.com/core/changeLocation.htm?sellerUserTag4=35600986046915&sellerUserTag3=216243150893645856&sellerUserTag=35196962&offlineShop=false¬AllowOriginPrice=false&service3C=false&itemId=21289723927&isSecKill=false&tgTag=false&household=false&isUseInventoryCent
不论是使用火狐firebug,还是使用各大浏览器的“审查元素”功能,在“网络”中都找不到对该地址的请求。实在没办法,最后使用firefox的控制台找到了该地址,寻找方法是:先打开控制台,然后强制刷新网页,看控制台的请求网址,同时查看tmall网址页面上商品详情那个地方,因为是懒加载,所以刷新后在该地方没有加载之前,一直是“描述加载中”
这个时候可以不断地清空控制台(可以筛掉许多肯定不是的请求地址),等商品描述加载出来后,一次打开控制台的请求地址,看内容。
不知道tmall是怎么实现的懒加载。在商品详情页面有如下代码,红色的即为商品详情地址:
后面终于想到在“审查元素”的“网络”中为啥找不到对改地址的请求了,经过尝试可以确定。是因为缓存,在第一次访问该页时,会去请求这个商品详情地址,然后这个地址内容会被缓存,所以再次请求时,商品详情会读取缓存数据。即便是ctrl+f5强制刷新当前页面,也不会再去请求这个商品详情地址,只能清空缓存。
相应技术文档参考:
jQuery懒加载原理:http://www.jb51.net/article/26125.htm