某德地图会返回假数据,并不是封你IP的策略,一定要注意,有可能也会封,但是我爬的时候,间隔比较长。2、3秒。
最后还是用的代理,单机无法完成任务,量比较大。
后来根据算法识别出,爬取的这个点是不是真实的数据,有两种方法:
其一:判断抓取的连续的经纬度点,是否有锐角,有几个,在真实的数据中很少有图形是锐角的,这种方法,有可能会有误伤。
其二:在抓去之后,会有一个area的字段,你可以根据求经纬度的面积,来和这个area来判断是否是真数据。
比如下面两条数据:第一条为假数据
data= "116.152617,39.72162;116.146973,39.720254;116.152756,39.718961;116.152433,39.720468;116.15498,39.714614;116.147067,39.722572;116.14975,39.721332;116.147661,39.721625;116.152617,39.72162"
真实的数据是这个样子的:
data = "116.150227,39.71689;116.150143,39.716904;116.150096,39.716961;116.150103,39.718018;116.15013,39.718084;116.150177,39.718112;116.15196,39.718132;116.151971,39.716895;116.150227,39.71689"
很明显是不一样的。
而且在爬取的过程中,需要将头信息补充好,然后利用代理IP进行批量的抓取。