更多>>关于我们
西安鲲之鹏网络信息技术有限公司从2010年开始专注于Web(网站)数据抓取领域。致力于为广大中国客户提供准确、快捷的数据采集相关服务。我们采用分布式系统架构,日采集网页数千万。我们拥有海量稳定高匿HTTP代理IP地址池,可以有效获取互联网任何公开可见信息。
您只需告诉我们您想抓取的网站是什么,您感兴趣的字段有哪些,你需要的数据是哪种格式,我们将为您做所有的工作,最后把数据(或程序)交付给你。
数据的格式可以是CSV、JSON、XML、ACCESS、SQLITE、MSSQL、MYSQL等等。
更多>>技术文章
网页数据抓取之采集爱帮网商铺地图坐标
发布时间:2011-12-13
在现今的Web应用中,电子地图的应用是越来越多了,人们通过地图来搜索地点、查看周边信息、查询公交线路、查找商铺位置等等,快捷而方便。而在电子地图的应用中,通过坐标来进行定位,就成了必不可少的实现手段。因此,很多客户在进行网页数据抓取时,都会要求采集目标信息的地图坐标数据。然而,各大网站的地图坐标数据通常都是进行了加密处理的,即便能够获取,也只能得到一些坐标编码而已。笔者在为客户采集爱帮网商铺的信息时,就遇到了这样的问题。好在通过一番努力,终于找到了解决的办法,故特此撰文以飨之。
爱帮网的地图坐标信息和电话号码一样,是经过加密处理的,用通常的方法,只能获取到类似gmkhhosonqrIILN,hofkimsortuMMLF这样的坐标编码,而不是真正标识坐标位置的经、纬度数据。而在其地图中标识的位置,则更是将真实的经、纬度坐标转换成了地图容器内的相对坐标。这样的数据对客户而言是没有意义的,所以我们需要对其坐标编码进行正确的解密,以获得真实的经、纬度坐标数据。
经过跟踪分析,发现爱帮网在加载商铺地图信息时,是先将商铺的坐标编码进行内部转换,再换算成网页地图容器的相对坐标来实现的。既然如此,那么在其网页里可能就有专门用于处理地图数据的函数或方式。仔细查找之下,果然发现了一个用于此类工作的javascript脚本文件,相信商铺的地址编码就是通过这个js脚本来进行相互转换的。又一番分析对照之后,终于找到了其中用于坐标编码解码的代码部分,再将之进行相应的改写,就可以进行测试了。
因为爱帮网的地图使用的MapABC的地图引擎,所以我们可以通过MapABC的逆地理编码功能来验证一下坐标解析的正确与否。下面以两个店铺的坐标解析为例。
(1)巴喜阳光
从其网页源码中,可以得到该店铺的坐标编码分别是gmkhhosonqrIILN和hofkimsortuMMLF。运行解码程序之后,可以获得如下结果:
Longitude: gmkhhosonqrIILN -> 113.3371344
Latitude: hofkimsortuMMLF -> 23.14171777
然后在MapABC的逆地理编码功能页面中输入获得这一组坐标值:
查询后返回的结果如下:
可以看到,在查询的结果中,巴喜阳光的店铺赫然在列。由此可见,我们解码的坐标数据是正确可信的。
再看另一个店铺的情况。
(2)中森名菜日本料理
从其网页源码中,得到的店铺坐标编码是ihnjliusosGDFL和jjimmgnslvKHJH。运行解码程序之后,获得的结果如下:
Longitude: ihnjliusosGDFL -> 113.328765
Latitude: jjimmgnslvKHJH -> 23.1401738
同样,在MapABC的逆地理编码功能页面中输入获得这一组坐标值,进行查询后结果如下:
不出所料,所查店铺中森名菜日本料理的名字同样出现在结果列表中。
此后,我们又进行了多次反查对照,虽然坐标的经、纬度数值与反查结果中的数据有微小的差别,但总体来说,基本上都是吻合的。由此可以验证,我们对爱帮网商铺地图坐标数据的编码解析方法是正确无误的。
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。
☹ Disqus被Qiang了,之前所有的评论内容都看不到了。如果您有爬虫相关技术方面的问题,欢迎发到我们的问答平台:http://spider.site-digger.com/