如何将爬网位置映射到数据库中的现有位置
how to map crawled locations to existing locations in the database
背景: 我正在建立一个网站,从香港的房地产网站(一个示例项目)中抓取数据。我为各种 属性 列表抓取不同的网站。因此,我从原始爬网位置
获得了多种位置格式
示例:
几个 原始抓取位置的示例 :
- 北角
- 8, Java道, 北角, 香港
- 港岛,北角
从以上地址可以看出,香港同区,即北角可以有多种形式,上面列举的不多。问题是这个数据没有意义,除非它是 mapped/structured
要求:
我想要一些优雅的解决方案,能够将这些原始爬网位置映射到一组预定义的值。我能想到的一种方法是,创建一个位置数据库(我正在使用 mysql),并为每个已爬网的原始位置找出匹配的 locationId。
如果上面的方案听起来不错,那么我的数据库将包含如下字段:
LOCATION_REF、国家、州、城市、地区、subLocality1、subLocality2、纬度、经度
补充资料: 我也是用apache solr (lucene)搭建的,欢迎任何solr相关的搭配建议
思考:我认为必须有一些预定义的API 来做这样的事情,因为我看到的几乎每个应用程序都有基于位置的搜索和过滤。是否有 google api 可以做到这一点?如果是的话,如果有人能提供好的例子,我将不胜感激
PS:我使用 Jsoup 从页面解析数据(提取原始位置)
我找到了一种方法,Google 地理编码回答了我提出的所有问题。
Google 地理编码 API 将原始地址格式映射到它自己的格式,根据位置层次结构给出位置的结构化数据(例如街道号码、街区、地点等。这就是我需要的
这里是link供参考:https://developers.google.com/maps/documentation/geocoding/intro
背景: 我正在建立一个网站,从香港的房地产网站(一个示例项目)中抓取数据。我为各种 属性 列表抓取不同的网站。因此,我从原始爬网位置
获得了多种位置格式示例: 几个 原始抓取位置的示例 :
- 北角
- 8, Java道, 北角, 香港
- 港岛,北角
从以上地址可以看出,香港同区,即北角可以有多种形式,上面列举的不多。问题是这个数据没有意义,除非它是 mapped/structured
要求: 我想要一些优雅的解决方案,能够将这些原始爬网位置映射到一组预定义的值。我能想到的一种方法是,创建一个位置数据库(我正在使用 mysql),并为每个已爬网的原始位置找出匹配的 locationId。 如果上面的方案听起来不错,那么我的数据库将包含如下字段:
LOCATION_REF、国家、州、城市、地区、subLocality1、subLocality2、纬度、经度
补充资料: 我也是用apache solr (lucene)搭建的,欢迎任何solr相关的搭配建议
思考:我认为必须有一些预定义的API 来做这样的事情,因为我看到的几乎每个应用程序都有基于位置的搜索和过滤。是否有 google api 可以做到这一点?如果是的话,如果有人能提供好的例子,我将不胜感激
PS:我使用 Jsoup 从页面解析数据(提取原始位置)
我找到了一种方法,Google 地理编码回答了我提出的所有问题。 Google 地理编码 API 将原始地址格式映射到它自己的格式,根据位置层次结构给出位置的结构化数据(例如街道号码、街区、地点等。这就是我需要的
这里是link供参考:https://developers.google.com/maps/documentation/geocoding/intro