Python爬虫与美食!爬虫工程师教你用scrapy爬取美团!简单易上手
Python和美食都是不可少的,两者并没有冲突,哈哈,本文主要思路是根据手机定位信息周边美食进行爬取:在给大家分享之前呢,我介绍一下我弄的一个学习交流群,有什么不懂的问题,都可以在群里踊跃发言,需要啥资料随时在群文件里面获取自己想要的资料。这个python群就是:330637182 小编期待大家一起进群交流讨论,讲实话还是一个非常适合学习的地方的。各种入门资料啊,进阶资料啊,框架资料啊 爬虫等等,都是有的,风里雨里,小编都在群里等你。爬取目标:微信小程序中的美团生活1、首先需要获取广州市地图边界。1)获取地图边界主要是依赖高德地图api接口,需要自行申请key2)使用matplotlib进行绘制结果如图,测试没问题:2、构造外包矩形,对外包矩形进行等距划分。1)美团定位显示3km内的商家,所以任意相邻的两个点之间的距离应该小于6km,其实就是一个正方形对角线的距离必须小于或等于6,即 2x^2=36,解得x=4.242642)因为纬度1°为111.3195km,经度每度为111.3195cos(纬度),根据经纬度最大和最小点按照4.24264km的距离进行遍历,得到以下所有点(900个)3、筛选出落在广州市内的坐标,并将坐标信息发送到spider1)原本是打算写个射线法进行筛选坐标的,后面想起好像有类似的轮子,于是使用了shapely进行坐标筛选出401个符合要求的点,感谢造轮子的大神2)将以上功能定义成函数式,并在spider中改写start_requests,将坐标遍历4、对所有符合要求的坐标信息进行遍历爬取,主要是获取商家的poiid5、根据卖家的poiid,对美团app的商家信息进行爬取,包含坐标信息6、数据入库最后抓取了6378条商家信息7、注意事项1)数据库插入报错: Traceback:: (1241, 'Operand should contain 1 column(s)')输出数据中的坐标为tuple格式,改成str解决2)因为坐标为经纬度,有6位小数点,浮点型计算不太熟悉,所以开始处理的时候转换成了int3)美团接口获取主要是使用Fiddler8、数据展示1)人均消费最高的商家,香格里拉大酒店占了4个2)最受欢迎的前十商家,你去过几家?3)商家人均价格分布,多少钱才符合大众消费?4)根据坐标绘制的散点图,哪里开店最受欢迎?5)词频统计,广州什么美食店最多?谢谢阅读,
本文转载于简书,如有侵权请联系小编。
因篇幅问题不能全部显示,请点此查看更多更全内容