主要解决的是大众点评网站的反爬虫机制,它的机制使得在爬取过程中过一段时间总是会进入验证中心。
查阅资料之后发现,解决办法是在爬的过程中要把header头部信息完善一下,最起码要有useragent、cookie、host、refer四种信息。
首先是useragent,我使用的是my_fake_useragent库,它可以随机生成一个useragent:
user_agent = mfu.UserAgent()
self.headers = {
"User-Agent": user_agent.random(),
"Cookie": "......",
}
其次,cookie、host、refer这三种信息可以从网页的开发者模式中找到,直接在网页中按‘F12’,打开network中的xhr即可以看到详细信息:
类似于这种的。
同时我也对爬虫进行了完善,预计提供两种方式进行检索,一种是通过搜索直接给出所有优惠信息,不按照店铺进行分类,第二种是用户先搜索店铺,然后进入店铺可以看到该店铺所拥有的优惠信息。