经常性的看到在一些电商网站上的 搜索关键词记录,被其他网站给爬取到。然后去判断用户的行为习惯,作一些 乱七八糟的相关商品推荐或者
广告。不得不说,确实做的很人性化,这是怎么实现的。怎么获取到用户的搜索记录。
采用的是客户端的cookie,通过客户端的cookie记录用户经常搜索的关键字,然后就可以从用户经常搜索的关键字来
判断用户的兴趣。先看一下怎么设置用户查询。cookie在用户电脑中是以一种类似map键值对的形式存放,且只能存放字符串类型的对
象。通过response对象 增加cookie,代码如下:
/**
* 用户把查询关键字返回到搜索记录中
*/
Cookie cookie=new Cookie("keyword", keyword);
cookie.setMaxAge(60*60*24*30);//设置存放1个月的cookie,单位是秒
//然后通过response对象的addcookie方法添加cookie使其生效
response.addCookie(cookie);
super.flushResponse(response, JsonWs.toJson(totalList));
通过request对象的getCookies方法得到一个包含所有Cookies的数组。
/**
* 构建cookie中的keywords
* @param keyword
* @param request
* @return
* @throws UnsupportedEncodingException
*/
private String buildCookie(String keyword, HttpServletRequest request) throws UnsupportedEncodingException {
keyword=StringUtils.StringFilter(keyword);
String oldKeyWord = null;
Cookie [] cookies = request.getCookies();
for(int i = 0; cookies!=null && i < cookies.length; i++){
if(cookies[i].getName().equals("keyword")){
oldKeyWord = URLDecoder.decode(cookies[i].getValue(),"UTF-8");
break;
}
}
if(oldKeyWord==null) return keyword;
//ArrayList<String> list1=new ArrayList<String>(Arrays.asList(oldKeyWord.split("\\,")));
//ArrayList 这个集合类中没有removeLast addFirst这两方法
LinkedList<String> list = new LinkedList<String>(Arrays.asList(oldKeyWord.split("\\,")));
if(list.contains(keyword)){
list.remove(keyword);
}else{
if(list.size()>=10){
list.removeLast();
}
}
list.addFirst(keyword);
StringBuffer sb = new StringBuffer();
for(String bid: list){
sb.append(bid + ",");
}
return sb.deleteCharAt(sb.length()-1).toString();//删除最后多余 的一个逗号
分享到:
相关推荐
这样是很多专门做搜索引擎“相关搜索词”的商家宣称各大搜索引擎平台都能操作的原因所在。 “相关搜索词”在营销推广中是有一定效果的,毕竟有很多网民在搜索的时候喜欢去点击搜索引擎上面的它,这也就为商家带来了...
使用C sharp开发搜索引擎 C#搜索引擎开发实战 02-搜索引擎基础(共15页).ppt 使用C sharp开发搜索引擎 C#搜索引擎开发实战 03-网络爬虫(共27页).ppt 使用C sharp开发搜索引擎 C#搜索引擎开发实战 04-正则表达式...
使用C sharp开发搜索引擎 C#搜索引擎开发实战 02-搜索引擎基础(共15页).ppt 使用C sharp开发搜索引擎 C#搜索引擎开发实战 03-网络爬虫(共27页).ppt 使用C sharp开发搜索引擎 C#搜索引擎开发实战 04-正则表达式...
SP超级搜索程序!集成N中搜索引擎在线切换!直接词联想补全!功能强大,可供学习~研究~二次开发~。。。。。
横瓜垂直搜索引擎,是Windows平台的垂直搜索引擎(不提供网络爬虫),最大可容量6000万条记录。 对于100万条记录规模的数据库,可在2分钟内完成所有架构工作。横瓜垂直搜索引擎分词速度约为 2500万字/分钟,约占99.984...
Jquery调用Google搜索API实现搜索引擎,使用起来很方便很快速的一个插件工具
搜索引擎开发中有一类词叫停止词,是由英文单词:stopword翻译过来的,原来在英语里面会遇到很多a,the,or等使用频率很多的字或词,常为冠词、介词、副词或连词等。如果搜索引擎要将这些词都索引的话,那么几乎每个...
搜索引擎营销
chrome 历史记录插件,支持历史记录分词统计高频词,支持历史记录 按词语索引或是按网站域名分组。 一个很小巧的历史记录插件,能统计出你访问的网站标题的高频词,按词语分组, 方便用户查看,或者按同一个域名分组...
五步法掌握搜索引擎营销关键词拓词及分词:1、定位;2、衍生;3、规整;4、拾遗;5、诊断
使用C sharp开发搜索引擎 C#搜索引擎开发实战 02-搜索引擎基础(共15页).ppt 使用C sharp开发搜索引擎 C#搜索引擎开发实战 03-网络爬虫(共27页).ppt 使用C sharp开发搜索引擎 C#搜索引擎开发实战 04-正则表达式...
搜索引擎营销
搜几下首先集合了更大实用搜索引擎或网站的搜索接口,实现一个关键字,同时查询多家资源。搜几下-上网搜索、找资料必备工具,为您准备了最先进的搜索引擎,让您搜索查找资料更加方便。使用搜几下您可以查找:百科、...
使用C sharp开发搜索引擎 C#搜索引擎开发实战 02-搜索引擎基础(共15页).ppt 使用C sharp开发搜索引擎 C#搜索引擎开发实战 03-网络爬虫(共27页).ppt 使用C sharp开发搜索引擎 C#搜索引擎开发实战 04-正则表达式...
搜索引擎营销
搜索引擎营销
搜索引擎中的分词以及查找的编程心得,希望能对学习搜索引擎的朋友们有所帮助,也欢迎大家给出宝贵的意见和建议
人工智能-搜索引擎
刷搜索引擎下拉框关键词,刷淘宝关键词排名,刷网站关键词排名
最近在学搜索引擎。希望对大家有用。 看一下吧。 我还传了另外的分词方法。