最近做实验需要大众点评的店铺信息,包括名称、人均价格、位置、经纬度等,头一次遇到反爬这么厉害的角色,主要采用两种反爬手段:
- 封IP
- 网页数据加密
URL分析
我以获取北京市所有粤菜馆的店面、人均价格、地址、经纬度为目标,说明爬取过程及解决问题的方法。北京市粤菜馆的url为http://www.dianping.com/beijing/ch10/g103,看到仅显示50页内容,判断可能做了限制,因此采取分区域采集的方式,逐个行政区域进行采集,如朝阳区url:http://www.dianping.com/beijing/ch10/g103r14,加了一个行政区编码r14;经查看,各行政区粤菜馆的条目均在50页以内,因此分区域采集的思路可行,加入页码信息,url类似:http://www.dianping.com/beijing/ch10/g103r14p3,即在表示行政区的编码后加p及页码编号。
隐藏爬虫身份
1)加header及休眠时间,常规操作,不做太多解释。多提一句,之前加header只用’User-Agent’,大众点评不行,总是进入验证中心