国产探花免费观看_亚洲丰满少妇自慰呻吟_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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 遵义市| 永仁县| 临朐县| 绍兴市| 永州市| 湘西| 越西县| 江油市| 长白| 岳普湖县| 县级市| 东城区| 临安市| 庆元县| 枞阳县| 龙川县| 六枝特区| 会同县| 多伦县| 桂平市| 宿迁市| 双峰县| 龙游县| 宣汉县| 林西县| 麻城市| 旬邑县| 西宁市| 萨嘎县| 女性| 东台市| 徐汇区| 武邑县| 黄石市| 阿克苏市| 舟山市| 武夷山市| 南乐县| 保定市| 屯门区| 大同县|