我们目前碰到了两个问题:
一、每个搜索引擎的查询关键字值表示的方式不一样:
google q=%D4%DA%CF%DF%BF%CD%B7%FE
baidu wd=%D4%DA%CF%DF%BF%CD%B7%FE
yahoo p=%D4%DA%CF%DF%BF%CD%B7%FE
要获取关键内容只能先通过字段判断是哪个搜索引擎然后采用不同的方式截取;二、搜索引擎的关键字的编码方式跟浏览器的采用的编码方式有关,象我上面写的字符串可以用gb2312进行反编码。要是原来用的是utf8 进行encode话就会出现乱码。
我想到的办法是事先获取对方浏览的编码方式,但request.getCharacterEncoding()对于从HTML页面提交的请求无法获取编码方式。不知道各位大侠有没有好的办法,指点小弟一下。
一、每个搜索引擎的查询关键字值表示的方式不一样:
google q=%D4%DA%CF%DF%BF%CD%B7%FE
baidu wd=%D4%DA%CF%DF%BF%CD%B7%FE
yahoo p=%D4%DA%CF%DF%BF%CD%B7%FE
要获取关键内容只能先通过字段判断是哪个搜索引擎然后采用不同的方式截取;二、搜索引擎的关键字的编码方式跟浏览器的采用的编码方式有关,象我上面写的字符串可以用gb2312进行反编码。要是原来用的是utf8 进行encode话就会出现乱码。
我想到的办法是事先获取对方浏览的编码方式,但request.getCharacterEncoding()对于从HTML页面提交的请求无法获取编码方式。不知道各位大侠有没有好的办法,指点小弟一下。
下面的正则表达式:
"(?:yahoo.+?[\?|&]p=|openfind.+?q=|google.+?q=|lycos.+?query=|aol.+?query=|onseek.+?keyword=|search\.tom.+?word=|search\.qq\.com.+?word=|zhongsou\.com.+?word=|search\.msn\.com.+?q=|yisou\.com.+?p=|sina.+?word=|sina.+?query=|sina.+?_searchkey=|sohu.+?word=|sohu.+?key_word=|sohu.+?query=|sogou.+?query=|163.+?q=|baidu.+?w=|baidu.+?wd=|baidu.+?word=|3721\.com.+?name=|3721\.com.+?p=|Alltheweb.+?q=)([^&]*)"
(http://\\S*google\\S*q=|http://\\S*baidu\\S*q=|http://\\S*yahoo\\S*p=|http://\\S*zhongsou\\S*word=|http://\\S*lycos\\S*query=|http://\\S*tom\\S*word=|http://\\S*qq\\S*word=|word=|http://\\S*msn\\S*q=|http://\\S*sina\\S*k=|http://\\S*sohu\\S*key_word=|http://\\S*sohu\\S*query=|http://\\S*sogou\\S*query=|http://\\S*163\\S*q=|http://\\S*3721\\S*name=|http://\\S*3721\\S*p=|http://\\S*soso\\S*w=)([^&]+)\\S*
(http://\\S*google\\S*q=|http://\\S*baidu\\S*wd=|http://\\S*yahoo\\S*p=|http://\\S*zhongsou\\S*word=|http://\\S*lycos\\S*query=|http://\\S*tom\\S*word=|http://\\S*qq\\S*word=|word=|http://\\S*msn\\S*q=|http://\\S*iask\\S*k=|http://\\S*sohu\\S*key_word=|http://\\S*sohu\\S*query=|http://\\S*sogou\\S*query=|http://\\S*163\\S*q=|http://\\S*3721\\S*name=|http://\\S*3721\\S*p=|http://\\S*soso\\S*w=)([^&]+)\\S*大家有没有好的建议??帮帮小弟了