首页 新闻 会员 周边

如何获取网页搜索框下拉提示关键词?

0
悬赏园豆:10 [已解决问题] 解决于 2015-07-01 17:41

各大网站,都有这样的搜索功能,比如搜索  机器人 ,在还没有回车或点击搜索按钮之前,

搜索框下面,会显示相关联的搜索词语,供用户参考,

我知道这个功能是怎么做的,我想问的是:

怎么样获取别人网站这样的数据,求大神给个思路,用什么方法可以做到?

我欲成仙快乐齐天的主页 我欲成仙快乐齐天 | 初学一级 | 园豆:17
提问于:2015-07-01 10:06
< >
分享
最佳答案
0

您意思是要在您自己的网站上用别人的数据?如果是这样可以:在您网站输入关键字请求到自己的服务器,再在服务器上用HttpClient模拟发请求到别人的网站抓取数据,然后返回给自己网站的请求。

当然,你需要先搞清楚别人服务器请求的链接(用一楼说的方法),以及分析出请求的其他参数,以求模拟请求模拟的像。前提是他们对请求的安全限制不那么严格。

还有也可以对抓去到的数据可以存自己数据库上,下次可以找到自己数据库找,找不到再模拟请求抓。这样可以积累下一定量的数据。

但这些数据毕竟可能是人家基于用户行为分析后的结果,未必与您自己的站点情况相符。

收获园豆:10
liqipeng | 小虾三级 |园豆:1160 | 2015-07-01 13:18

嗯,我只要统计他已经显示出来的即可,抛开他分析的精准与否。

F12的话,是可以看到相关信息,但是不知道具体是那一个JS方法在处理这些请求,HTTPWatch也一样,你有什么好方法可以定位这样的请求方法吗?

 

给个思路哈,非常感谢。

我欲成仙快乐齐天 | 园豆:17 (初学一级) | 2015-07-01 13:38

@OmJJWang: 找找谷歌浏览器开发工具的使用方法吧,我现在用手机的,不太方便。简单说说。打开那个页面,用谷歌浏览器,按f12,看到Network那一列了吗,有个clear的按钮,找找看,先把已有请求信息清除掉,然后在搜索框输入,应该能看到刚才的Network有东西了,这个就是发送的请求了,看看链接。自己摸索一下吧。

liqipeng | 园豆:1160 (小虾三级) | 2015-07-01 14:12
其他回答(5)
0

打开F12,查看它发了什么请求,得到了什么结果。

至于怎么做,无非就是文本改变时去请求数据。

幻天芒 | 园豆:37175 (高人七级) | 2015-07-01 10:24
0
凡一二三 | 园豆:85 (初学一级) | 2015-07-01 10:39

貌似楼主要的是数据,不是怎么做combobox

支持(0) 反对(0) liqipeng | 园豆:1160 (小虾三级) | 2015-07-01 13:25
0

这种数据基本都是搜集用户行为和搜索习惯统计计算分析得到的。抓取比较麻烦,一般都是AJAX动态请求拿到响应数据,直接抓取比较不现实。

linqpad++ | 园豆:204 (菜鸟二级) | 2015-07-01 11:17

我看别人的软件做到了这点,就是不知道怎么弄的,你有思路吗?

支持(0) 反对(0) 我欲成仙快乐齐天 | 园豆:17 (初学一级) | 2015-07-01 11:22
0

“数据”比“你知道”贵多了,如果有人能做到,无非大概应该也许可能一定绝对必然就是模拟该网站的AJAX吧。

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-07-01 12:37
0

实现一个智能提示功能需要ajax、数据库、jsp/php、算法等很多知识,
如果数据量大,还需要特殊优化
一个小功能,花费太大精力很不划算
我使用了92find.c-o-m的搜索框智能提示功能托管服务,
只要一行javascript代码就可以实现百度、淘宝搜索框提示的全部功能
比如:汉字拼音匹配、拼音前缀匹配、模糊搜索、智能容错,还可以自定义提示词汇及其排序权重
花五分钟我的网站就可以部署同百度、淘宝一样强大好用的输入提示功能
同时兼容IE、Firefox、Safari、Chrome、Opera各种浏览器
兼容ios、Android、Windows

autocom | 园豆:202 (菜鸟二级) | 2017-03-14 16:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册