我自己的地名库不是很全,想从淘宝的api中采集地名,用到自己的搜索框补全信息中。http://dujia.trip.taobao.com/ajax/TravelSuggest.htm?q= 这个是接口地址,返回的是json(编码是gb2312,需要先转换下编码) 淘宝的地名提示的匹配方法是模糊匹配法,所以我想尽可能全的采集下来,但估计重复数据会比较大,所以想问下,有没有什么好的思路。谢谢
认证高级PHP讲师
推荐直接用第三方的API,地名更新是常态,应该交给成熟的服务去做
例如:百度开放API:
http://developer.baidu.com/map/webservice-placeapi.htm
你的问题不该是如何偷数据, 而是如何设计搜索系统。
淘宝这个产品地址我没有,就不看了,但是类似的搜索建议有很多入库方案。
典型的,是把地名、景点名、以及他们的拼音,作为同一条记录入库。
格式大概是介个样子、 做上索引、查询毫无压力、
[ 'city' => '大连', 'pinyin' => 'dalian', 'view_spot' => [ '1' => 'aaaa', '2' => 'bbbb', '3' => 'cccc', '4' => 'dddd', '5' => 'eeee' ] ]
上面是你有数据之后,设计的搜索建议数据库部分,作为永久存储的部分,当然也要存一份,方便产品多数地方使用
地名表、 地名_景点表、 景点详情表、
推荐直接用第三方的API,地名更新是常态,应该交给成熟的服务去做
例如:百度开放API:
http://developer.baidu.com/map/webservice-placeapi.htm
你的问题不该是如何偷数据, 而是如何设计搜索系统。
淘宝这个产品地址我没有,就不看了,但是类似的搜索建议有很多入库方案。
典型的,是把地名、景点名、以及他们的拼音,作为同一条记录入库。
格式大概是介个样子、 做上索引、查询毫无压力、
上面是你有数据之后,设计的搜索建议数据库部分,作为永久存储的部分,当然也要存一份,方便产品多数地方使用