火车头抓取阿里巴巴内容页


最近在做阿里巴巴的抓取,对于这种大型的网站,简单的按照教程的标签前后截取,很难以应用这种复杂的样式,因为对于阿里和淘宝这种网站,内容页的样式是用户自己定义的,所以说前后截取已经不再试用。

    在网上参考了很多这方面的,真可谓可以利用的信息甚少。在火车头论坛上逛了一下,看见大家对于这种网站的抓取,都先用抓包软件分析网站的请求,抓取内容页真正的数据请求部分。

   (httpanalyzer/httpwatch等等,本人比较喜欢前者)

    比如 抓取 http://detail.china.alibaba.com/offer/1130036970.html 这个网站 ,在IE浏览器上粘贴上这个网址,利用httpAnalyzer分析获取的结构

(NO 该网页加载获取请求的步骤, type 为获取请求的类型)内容页的类型应该就是text/html按照这个步骤,查找服务器返回的数据是否是内容页的数据,最终查找到真正的地址为 https://laputa.china.alibaba.com/offer/ajax/OfferDesc.do?offerId=1130036970&memberId=xiaohui055&callback=jQuery17208579062023162851_1363054197710)



https://laputa.china.alibaba.com/offer/ajax/OfferDesc.do?offerId=1130036970&memberId=xiaohui055&callback=jQuery17208579062023162851_1363054197710 

分析次链接的构成

https://laputa.china.alibaba.com/offer/ajax/OfferDesc.do? 为请求内容页的基本链接

offerId=1130036970 为请求产品的id

memberId=xiaohui055 为请求产品的人的id

callback=jQuery17208579062023162851_1363054197710  不知何处作用,所以实验一下

1。不带memerId 和 callback请求页面 https://laputa.china.alibaba.com/offer/ajax/OfferDesc.do?offerId=1130036970 找不到内容

2. 带有memeberId 请求页面https://laputa.china.alibaba.com/offer/ajax/OfferDesc.do?offerId=1130036970&memberId=xiaohui055  找不到内容

等等

经过实验分析 memeberId 不是请求内容页面所必须的内容,callback应该为一个随机的值,必须要带callback=任意值

实验

http://laputa.china.alibaba.com/offer/ajax/OfferDesc.do?offerId=1130036970 &callback=cc即为内容页的请求内容。


剩下的便用火车头进行采集即可

你可能感兴趣的:(火车头抓取阿里巴巴内容页)