Home

Awesome

基于Scrapy的饿了么和美团外卖平台商家信息爬虫

规则已失效,且不再更新,代码仅供参考

爬虫思路

饿了么/美团外卖上只能通过指定的位置信息来获取该位置附近的商家,所以采取密集取坐标点获取商家信息的策略。

依赖

此外,为了应对反爬虫,最好准备一个代理方式,否则就要把下载延迟设置得比较长。可以先从网上搜集免费的代理,然后每次发送请求随机选择代理,但比较不稳定。也可以选择一些云代理服务,稳定些不过要付费。本项目使用的是阿布云代理的动态版,虽然默认每秒最多只能使用五次但勉强也不算太少。如果使用其他的需要自己改代码(修改eleme/middlewares.py中的ElemeDownloaderMiddleware,或者另外写一个中间件并在eleme/setting.py中设置)。

使用方法

先运行 sql/eleme.sql(或sql/meituan.sql) 中的sql代码来创建数据库和表,然后根据自己的实际情况和需要修改setting.py中的设置,然后就可以使用scrapy crawl <spider_name><spider_name>为爬虫名称)来运行相应的爬虫。项目中包含的爬虫有一定的运行顺序要求。

注意事项

为了避免各种编码问题以及JSON字符串的引号等问题,爬虫在将数据存入数据库前先对JSON字符串进行了BASE64编码,所以在使用数据前需要现将相应的字符串进行BASE64解码

此项目的爬虫在上传至github前有可能已失效(未验证),项目仅供学习交流使用。