Home >Backend Development >PHP Tutorial >采集搜索框信息补全的数据

采集搜索框信息补全的数据

WBOY
WBOYOriginal
2016-06-06 20:45:331397browse

我自己的地名库不是很全,想从淘宝的api中采集地名,用到自己的搜索框补全信息中。
http://dujia.trip.taobao.com/ajax/TravelSuggest.htm?q= 这个是接口地址,返回的是json(编码是gb2312,需要先转换下编码)
淘宝的地名提示的匹配方法是模糊匹配法,所以我想尽可能全的采集下来,但估计重复数据会比较大,所以想问下,有没有什么好的思路。谢谢

回复内容:

我自己的地名库不是很全,想从淘宝的api中采集地名,用到自己的搜索框补全信息中。
http://dujia.trip.taobao.com/ajax/TravelSuggest.htm?q= 这个是接口地址,返回的是json(编码是gb2312,需要先转换下编码)
淘宝的地名提示的匹配方法是模糊匹配法,所以我想尽可能全的采集下来,但估计重复数据会比较大,所以想问下,有没有什么好的思路。谢谢

推荐直接用第三方的API,地名更新是常态,应该交给成熟的服务去做

例如:百度开放API:

http://developer.baidu.com/map/webservice-placeapi.htm

你的问题不该是如何偷数据, 而是如何设计搜索系统。

淘宝这个产品地址我没有,就不看了,但是类似的搜索建议有很多入库方案。

典型的,是把地名、景点名、以及他们的拼音,作为同一条记录入库。

格式大概是介个样子、 做上索引、查询毫无压力、

<code class="lang-javascript">[
    'city' => '大连',
    'pinyin' => 'dalian',
    'view_spot' => [
        '1' => 'aaaa',
        '2' => 'bbbb',
        '3' => 'cccc',
        '4' => 'dddd',
        '5' => 'eeee'
    ] 
]
</code>

上面是你有数据之后,设计的搜索建议数据库部分,作为永久存储的部分,当然也要存一份,方便产品多数地方使用

<code class="lang-sql">地名表、
地名_景点表、
景点详情表、
</code>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn