写作目的:
今天帮朋友一个忙,要爬取一些大众点评上的数据。结果发现大众点评的防爬机制还挺多的,记录一下自己踩的坑。
爬取目标
主要是通过分类和地区爬取店铺简介中的名称,地址,人均价格,各种评价分数和评价数
大众点评的保护机制
主要有两点
1.源码里加入了css反爬机制,主要是字体加密
2.对IP地址的限制,程序自动爬取大概十几页会断一下,目测应该是大众限制了一段时间内单IP访问量不能突破某一阈值。不过因为是爬取简介页面,所以手动验证一下也可以,没有像爬具体页面那样的封IP,有条件的也可以用IP池换IP访问。
应对方法
破解css加密机制参考了Python爬虫如何破解css加密
根据这篇文章建立字典后,对源码中的加密字符进行替换,然后通过正则匹配得到自己想要的部分
tree=etree.HTML(rep)
li_list=tree.xpath('//div[@class="content"]/div/ul/li')
for li in li_list:
title = li.xpath('.//div[@class="tit&