国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

[轉]ASP實現關鍵詞獲取(各搜索引擎,GB2312及UTF-8)

2024-05-04 11:02:05
字體:
來源:轉載
供稿:網友
不知道為什么現在各大搜索引擎編碼居然不一樣.當然不是GB2312就是UTF-8了.編碼問題是比較頭疼的問題...頭疼的不要命...
我們獲得關鍵詞,一般是通過來訪頁面的url進行分析的.比如
http://www.google.com/search?hl=zh-CN&q=%E5%AD%A4%E7%8B%AC&lr=
各位肯定知道這個是通過urlencode編碼的.
我們得到其中的信息,需要進行2步.第一步是進行urldecode,在我們普通參數活得的時候,這個是由ASP自己來進行的,但是現在我們不得不進行手工解碼.
網上函數很多,但都是針對于GB2312頁面解GB2312.UTF-8的.對于這個,我們可以很輕松的先進行解碼,然后根據搜索引擎判斷它的編碼,如果是UTF-8就再轉換為GB2312.
但是由于我的網站是UTF-8頁面的.而UTF-8頁面我找到的只有解UTF-8字符的urldecode編碼的.在這里停頓了很久,最后我只能用最糟糕的方法,把拆分出來的關鍵詞用xmlhttp提交到一個GB2312的ASP頁面,然后活得亂碼(GB2312)后再進行GB2312 to UTF-8的轉換.
下面主要實現代碼.
Public Function GetSearchKeyword(RefererUrl) ’搜索關鍵詞
 if RefererUrl="" or len(RefererUrl)<1 then exit function

  on error resume next

  Dim re
  Set re = New RegExp
  re.IgnoreCase = True
  re.Global = True
  Dim a,b,j
  ’模糊查找關鍵詞,此方法速度較快,范圍也較大
  re.Pattern = "(word=([^&]*)|q=([^&]*)|p=([^&]*)|query=([^&]*)|name=([^&]*)|_searchkey=([^&]*)|baidu.*?w=([^&]*))"
  Set a = re.Execute(RefererUrl)
  If a.Count>0 then
   Set b = a(a.Count-1).SubMatches
   For j=1 to b.Count
    If Len(b(j))>0 then 
     if instr(1,RefererUrl,"google",1) then 
       GetSearchKeyword=Trim(U8Decode(b(j)))
      elseif instr(1,refererurl,"yahoo",1) then 
       GetSearchKeyword=Trim(U8Decode(b(j)))
      elseif instr(1,refererurl,"yisou",1) then
       GetSearchKeyword=Trim(getkey(b(j)))
      elseif instr(1,refererurl,"3721",1) then
       GetSearchKeyword=Trim(getkey(b(j)))
      else 
       GetSearchKeyword=Trim(getkey(b(j)))
     end if
     Exit Function
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安吉县| 阜新市| 高雄县| 白沙| 黄龙县| 龙游县| 连州市| 安宁市| 仪陇县| 崇明县| 大化| 马尔康县| 江西省| 清水河县| 中卫市| 石城县| 墨江| 万山特区| 金阳县| 凤山县| 大方县| 宜城市| 崇明县| 毕节市| 阿鲁科尔沁旗| 牡丹江市| 宜兴市| 綦江县| 龙泉市| 饶平县| 嘉黎县| 隆尧县| 南阳市| 玛曲县| 阿拉善左旗| 保靖县| 谷城县| 河间市| 梁河县| 抚松县| 永寿县|