關鍵字排名(Keyword Ranking)
Monitors all queries and lists last queries and top 10 File Name : keywordranking.hta
Requirement : IE6
Author : Jean-Luc Antoine
Submitted : 09/12/2003
Category : HTA
Remember : The file extension has to be *.HTA 將下面的代碼保存為keyword.hta即可。保存時注意編碼,推薦用utf8格式。
<html><head>
<title>Keyword Ranking, (c) Jean-Luc Antoine</title>
<HTA:APPLICATION APPLICATIONNAME="Search Engine Tools"
BORDER="thick"BORDERSTYLE="normal"
CAPTION="yes" CONTEXTMENU="yes"
INNERBORDER="yes" MAXIMIZEBUTTON="yes" MINIMIZEBUTTON="yes"
NAVIGABLE="no" SCROLL="yes" SCROLLFLAT="no"
SELECTION="yes"SHOWINTASKBAR="yes" SINGLEINSTANCE="no"
SYSMENU="yes" VERSION="0.3" WINDOWSTATE="normal">
<script language=vbscript>
Option Explicit
'Versions :
'v0.3Queries and words : simultaneously ranking
'v0.2New look, options, many SE
'Multilingual system
'v0.1First draft, keyword rank and last queries
'Todo :
'Gérer systématiquement à la fois Keyword et Phrase
'Sur les keyword, permettre de zoomer (showmodeless) sur les phrases contenant le keyword pour connaître le ranking des variations
'Lister en permanence les mots-clefs monitorés avec leur occurence et permettre le même zoom
'Mettre en gras les keywords monitorés
'Temps de mesure
'Afficher pourcentage en plus du nb d'occurences
'Monitorer X mots-clefs et leur apparition/fréquence relative
'Faire bouton de refresh manuel si ça se bloque (location.reload())
'gérer les fenêtres lancées offline et non pas inline (intercepter events par showmodeless dialog)
'identifier nb de pages retournées par requete et indice de concurrence
'Permettre de sauver le résultat
'http://wordtracker.com/newsinput.txt
Const C_MaxList=20'### Change this, predefined for TOP 20
Dim d,dw,a(),b(),f(),g(),i
Redim a(C_MaxList)
Redim b(C_MaxList)
For i=0 to C_MaxList-1
a(i)=0'Nb d'occurences
b(i)=""'Value
Next
Redim f(C_MaxList)
Redim g(C_MaxList)
For i=0 to C_MaxList-1
f(i)=0'Nb d'occurences
g(i)=""'Value
Next
Set d=CreateObject("Scripting.Dictionary")'queries
d.CompareMode=1'vbTextCompare
Set dw=CreateObject("Scripting.Dictionary")'words
dw.CompareMode=1'vbTextCompare
sub go(SE)
Dim s,x,sq,s2,sw
Select Case SE
Case 0
s=RegExpTest("pursuit\?query=.*?&", lycosfr.document.body.innerHTML,15)
Case 1
s=RegExpTest("pursuit\?query=.*?&", lycosde.document.body.innerHTML,15)
Case 2
s=RegExpTest("[^a-z]q=.*?&", fireballde.document.body.innerHTML,4)
Case 3
s=RegExpTest("\?qkw=.*?""", metacrawler.document.body.innerHTML,6)
Case 4
s=RegExpTest("return.cool\?query=.*?""", kanoodle.document.body.innerHTML,19)
Case 5
s=RegExpTest("/w.galaxy.com/b/q\?k.*?""", galaxy.document.body.innerHTML,21)
Case Else
msgbox "Unknown S.E. : " & SE
End Select
s="<pre>" & s & "</pre>"
sq=""
For x=0 to C_MaxList-1
If a(x)>0 Then sq="<tr style='background-color:#eeeeee;'><td>" & a(x) & "</td><td>" & b(x) & "</td></tr>" & sq
Next
sq="<table style='border:1px solid #222222;'><tr style='background-color:#dddddd;'><th>Total</th><th>" & Disp(5) & "</th></tr>" & sq & "</table>"
sw=""
For x=0 to C_MaxList-1
If f(x)>0 Then sw="<tr style='background-color:#eeeeee;'><td>" & f(x) & "</td><td>" & g(x) & "</td></tr>" & sw
Next
sw="<table style='border:1px solid #222222;'><tr style='background-color:#dddddd;'><th>Total</th><th>" & Disp(9) & "</th></tr>" & sw & "</table>"
s2="<b>" & Disp(7) & " :</b> " & d.Count & "<br>"
s2=s2 & "<table><tr><td valign=top>"
s2=s2 & "<b>Top " & C_MaxList & " - " & Disp(5) & "</b><br>" & sq & "</td><td valign=top>"
s2=s2 & "<b>Top " & C_MaxList & " - " & Disp(9) & "</b><br>" & sw & "</td><td valign=top>"
s2=s2 & " <b>" & Disp(6) & " :</b>" & s
s2=s2 & "</td></tr></table>"
MaListe.InnerHTML=s2
End Sub
Function RegExpTest(patrn, strng, Pos)
Dim RetStr,regEx, regExw, Match,Matchw,Matches,Matchesw,Matchesws,k,i,j,x,s,w
Set regEx=New RegExp
Set regExw=New RegExp
regEx.Pattern=patrn
regExw.Pattern="\w+"
regEx.IgnoreCase=True ' Set case insensitivity.
regExw.IgnoreCase=True
regEx.Global=True ' Set global applicability.
regExw.Global=True
Set Matches=regEx.Execute(strng) ' Execute search.
RetStr=""
For Each Match in Matches
s=Mid(Match.Value,Pos)
s=Left(s,Len(s)-1)
s=Replace(s,"+"," ")
s=Replace(s,"%20"," ")
s=trim(s)
If s<>"" Then
s=Replace(s,"%21","!"):s=Replace(s,"%22",chr(34))
s=Replace(s,"%23","#"):s=Replace(s,"%25","%")
s=Replace(s,"%26","&"):s=Replace(s,"%27","'")
s=Replace(s,"%28","("):s=Replace(s,"%29",")")
s=Replace(s,"%2A","*"):s=Replace(s,"%2B","+")
s=Replace(s,"%2C",","):s=Replace(s,"%2F","/")
s=Replace(s,"%3A",":")
s=Replace(s,"%3D","=")
s=Replace(s,"%3F","?")
s=Replace(s,"%40","@"):s=Replace(s,"%B4","´")
s=Replace(s,"%C4","Ä"):s=Replace(s,"%D6","Ö")
s=Replace(s,"%DC","Ü"):s=Replace(s,"%DF","ß")
s=Replace(s,"%E0","à"):s=Replace(s,"%E2","â")
s=Replace(s,"%E4","ä"):s=Replace(s,"%E7","ç")
s=Replace(s,"%E8","è"):s=Replace(s,"%E9","é")
s=Replace(s,"%EA","ê"):s=Replace(s,"%EB","ë")
s=Replace(s,"%F6","ö")
s=Replace(s,"%F9","ù"):s=Replace(s,"%FC","ü")
s=Replace(s,"<","<"):s=Replace(s,">",">")
If d.Exists(s) Then
k=d.Item(s)+1
d.Item(s)=k
i=-1'If more than the first value, insert it
do while (a(i+1)<k) and (i<C_MaxList-1)
i=i+1
loop
if i>=0 Then'i=where to be inserted
x=0
For j=0 to C_MaxList-1
If ucase(b(j))=ucase(s) Then
x=j
Exit For
End If
Next
For j=x+1 to i
a(j-1)=a(j)
b(j-1)=b(j)
Next
a(i)=k
b(i)=s
End If
Else
d.Add s,1
End If
RetStr=RetStr & d.Item(s) & "-" & s & vbCRLF
'Extract Words
Set Matchesw=regExw.Execute(s)
For Each Matchw in Matchesw
w=Matchw.Value
If Len(w)>2 Then
If dw.Exists(w) Then
k=dw.Item(w)+1
dw.Item(w)=k
i=-1'If more than the first value, insert it
do while (f(i+1)<k) and (i<C_MaxList-1)
i=i+1
loop
if i>=0 Then'i=where to be inserted
x=0
For j=0 to C_MaxList-1
If ucase(g(j))=ucase(w) Then
x=j
Exit For
End If
Next
For j=x+1 to i
f(j-1)=f(j)
g(j-1)=g(j)
Next
f(i)=k
g(i)=w
End If
Else
dw.Add w,1
End If
End If
Next
End If
Next
RegExpTest=RetStr
End Function
</script>
<script for=window event=onload>
DoLoad
</script>
<xscript for=window event=onbeforeunload>
'DoSave
</xscript>
<script>
Sub DoSave
foo.setAttribute "content", foo.innerHTML
foo.save "EditContent"
End Sub
sub DoLoad
foo.load "EditContent"
content = foo.getAttribute("content")
if content<>"" Then foo.innerHTML=content
End Sub
Sub DoClear
foo.innerHTML = ""
End Sub
Function Disp(x)
Select case getlocale
Case 1036,2060,3084,5132,4108'French
Select Case x
Case 0'sous-titre
Disp="Outil d'analyse de requêtes - 1 backlink svp !"
Case 1
Disp="Votre liste de mots à monitorer :"
Case 2
Disp="Sauve"
Case 3
Disp="R.A.Z"
Case 4
Disp="Charge"
Case 5
Disp="requêtes"
Case 6
Disp="Dernières requêtes"
Case 7
Disp="Nb de requêtes lues"
Case 8
Disp="Cliquez dans le menu pour activer l'analyse d'un moteur."_
& " Recliquez pour la désactiver."
Case 9
Disp="Mots"
Case Else
Disp="###"
End Select
Case Else
Select Case x
Case 0'sub title
Disp="A linkware search engine analysis tool"
Case 1
Disp="Your keywords to monitor :"
Case 2
Disp="Save"
Case 3
Disp="Clear"
Case 4
Disp="Load"
Case 5
Disp="Queries"
Case 6
Disp="Last queries"
Case 7
Disp="Amount of scanned queries"
Case 8
Disp="Click above to start the queries analyzis on a specific search engine."_
& " Click again to stop it."
Case 9
Disp="Words"
Case Else
Disp="###"
End Select
End Select
End Function
Sub DispSE(x)
Select Case x
Case 0
if lycosfr.location="about:blank" Then
lycosfr.location="http://www.recherche.lycos.fr/voyeur"
Else
lycosfr.location="about:blank"
End If
Case 1
if lycosde.location="about:blank" Then
lycosde.location="http://www.lycos.de/inc/content/suche/"_
& "includes/livesuche_iframe.htm?ergebnisse=&refresh="
Else
lycosde.location="about:blank"
End If
Case 2
if fireballde.location="about:blank" Then
fireballde.location="http://www.fireball.de/livesuche.csp"
Else
fireballde.location="about:blank"
End If
Case 3
if metacrawler.location="about:blank" Then
metacrawler.location="http://www.metaspy.com/info.metac.spy/metaspy/unfiltered.htm"
Else
metacrawler.location="about:blank"
End If
Case 4
if kanoodle.location="about:blank" Then
kanoodle.location="http://www.kanoodle.com/spy/spy.cool"
Else
kanoodle.location="about:blank"
End If
Case 5
if galaxy.location="about:blank" Then
galaxy.location="http://watch.galaxy.com/b/watch?filter"
Else
galaxy.location="about:blank"
End If
Case Else
Msgbox "DispSE : not found - " & x
End Select
End Sub
</script>
<style>
body,td,th,p{font-size: 11px;font-family: Tahoma,Arial;}
.topmenu{
border:1px solid #222222;
background-color:#eeeeee;
}
.topmenu a{
height:15px;
background-color:#BDDCBD;
padding-top:1px;
padding-left:5px;
padding-right:5px;
text-decoration:none;
color:black;
text-align:center;
display:block;
}
.topmenu a:hover, .topmenu a:active{
background-color:#89DB89;color:black;
}
#rb{border-right:1px solid #222222;}
A{color:#AAFFCC}
BUTTON{font-size: 7pt;cursor:hand;}
.userData {behavior:url(#default#userdata);}
</style>
</head>
<body bgcolor=white text=black style="margin:2">
<a href=http://www.interclasse.com/scripts/keywordranking.php>
<img src=http://www.interclasse.com/pics/avatar.gif align=left border=0></a>
<H1 style="margin-bottom: 0px;">Keyword Ranking</H1><Script>document.write Disp(0)</Script>
<table class=topmenu border="0" cellpadding="0" cellspacing="0"><tr>
<td width=60 id=rb> </td>
<td id=rb width=80><a href="#" onClick='options.style.display="block"'>Options</a></td>
<td id=rb width=80><a href="#" Title="French" onclick="DispSE 0">Lycos.fr</a></td>
<td id=rb width=80><a href="#" Title="Deutsch" onclick="DispSE 1">Lycos.de</a></td>
<td id=rb width=80><a href="#" Title="Deutsch" onclick="DispSE 2">firball.de</a></td>
<td id=rb width=80><a href="#" Title="MetaSpy" onclick="DispSE 3">MetaCrawler</a></td>
<td id=rb width=80><a href="#" onclick="DispSE 4">Kanoodle</a></td>
<td id=rb width=80><a href="#" onclick="DispSE 5">Galaxy</a></td>
<td width=60> </td>
</tr></table>
<script>document.write Disp(8)</script><br>
<div id=options style="display:none;width:180;border:1px dashed #222222;background-color:#D0D0D0">
<script>document.write Disp(1)</script>
<div id=foo class=userData contentEditable=true style="margin=4;width:170;height:14;border:1px solid;background-color:white"></div>
<button onClick='DoSave()'><script>document.write Disp(2)</script></button>
<button onClick='DoClear()'><script>document.write Disp(3)</script></button>
<button onClick='DoLoad()'><script>document.write Disp(4)</script></button>
<button onClick='options.style.display="none"'>ok</button>
</div>
<div ID=MaListe></div>
<table width=100%><tr><td>
<iframe id=lycosfr height=200 src="about:blank" onload="go 0" width=100%></iframe>
<iframe id=fireballde height=200 src="about:blank" onload="go 2" width=100%></iframe>
<iframe id=kanoodle height=200 src="about:blank" onload="go 4" width=100%></iframe>
</td><td>
<iframe id=lycosde height=200 src="#" onload="go 1" width=100%></iframe>
<iframe id=metacrawler height=200 src="about:blank" onload="go 3" width=100%></iframe>
<iframe id=galaxy height=200 src="about:blank" onload="go 5" width=100%></iframe>
</td></tr></table>
</body>
</html>
版權聲明:本站文章來源標注為YINGSOO的內(nèi)容版權均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。