接到一个新的任务,是根据城市名,爬取美团外卖的商户电话联系方式
先去分析美团外卖的网站,https://waimai.meituan.com/,可是并没有任何商家的信息,后来经过了手机抓包,找到了手机版本的网址,https://h5.waimai.meituan.com/waimai/mindex/home,这个是可以访问的,ok
但是第二个问题就出来了,定位问题,我们知道,叫外卖之前都要先定好位置,才显示周围的外卖信息,这个其实也好解决,当我们切换了定位之后,网页其实是发了一个post请求,请求的数据,就包含了两串奇怪的数字,经过分析,这其实是经纬度
image.png
到了这里其实就成功了一小点了,我们通过返回的json数据拿到店铺的dpShopId,mtShopId,initialLat,initialLng,actualLat,actualLng,这里所有的数据都是通过解析json得到的,然后我们可以使用这些数据往这个地址发送post请求,返回的数据包里面就包含商店的电话信息了。
这样就拿到了一个固定经纬度的周围外卖商家了,怎么拿到一个城市的外卖呢,暂时考虑直接定位市中区,不过这样的话,应该会有很多数据的丢失,如果要分块的话,工作量也是很大,需要手动分块,还有去重问题。
而且仅仅是到了这里还没有结束,还没有考虑美团的反扒机制,一个爬虫最难的部分就在这里了,暂时观察到的是,爬四页会强制发送手机验证,如果更多的话也许会封ip,明天再好好想想吧
网友评论