webForumDet fria alternativet

Leta efter sökord, på en sida

ASP

5 svar · 516 visningar · startad av Eclipse

Medlem sedan juli 20003 825 inlägg
Frågan#1

Jag håller på att bygga en funktion för att testa om ett visst sökord finns på en viss sida. Om inte, bara att testa på nästa sida.

Koden är inte komplett:

FUNCTION lookPageForWord(strWord)
	DIM getURL
	Set http = Server.CreateObject("MSXML2.ServerXMLHTTP")
	URL = "http://www.google.com/search?hl=sv&q=" & strWord
	http.open "GET",URL,false
	http.send
	getUrl = http.responseText

END FUNCTION

Nu får jag ett svar tillbaka, en sida på Google. Hela svaret finns i getUrl.

Nu vill jag söka efter om ordet från *just min* domän finns på denna sidan. Det gör jag enklast med att fråga efter Request.ServerVariables("SERVER_NAME").

Men hur frågar jag i kod!?

Medlem sedan juli 20003 825 inlägg
#2
response.write " LEN getURL = " & LEN(getURL)

Detta funkar. Det blir :
LEN getURL = 4441

i just detta fallet.

Hur söker jag efter min hemsida i denna massa av text!?

Måste jag använda SQL!?

SELECT * FROM [results] WHERE getUrl LIKE '%" &Request.ServerVariables("SERVER_NAME") & "%';"

Kan man skriva det där i vbScript...?

Medlem sedan juni 20019 519 inlägg
#3

InStr() kommer ge dig ett värde där första träffen är.
Du får nog använda dig av RegExp för att få ut någon typ av struktur data... vet inte riktigt vad målet är med din lösning.

Medlem sedan juli 20003 825 inlägg
#4

Testa själv denna kod!

Ta reda på ett sökord som finns på en förstasida, och byt:

lookPageForWord "mitt favvosökord"

FUNCTION lookPageForWord(strWord)
	DIM getURL
	Set http = Server.CreateObject("MSXML2.ServerXMLHTTP")
	URL = "http://www.google.com/search?hl=sv&q=" & strWord
	http.open "GET",URL,false
	http.send
	getURL = http.responseText

	response.write " LEN getURL = " & LEN(getURL) & "<BR>"
	pos=InStr(getURL,"www.minhemsida.se")
	response.write(pos)

END FUNCTION

Det blir alltid 0 (noll) för mig i svar.

Vilken information finns egentligen i getURL!? Är det koden som finns i "Visa källa" eller det man ser i webbläsaren...??

Medlem sedan juni 20019 519 inlägg
#5

Eclipse skrev:

Vilken information finns egentligen i getURL!? Är det koden som finns i "Visa källa" eller det man ser i webbläsaren...??

Du kan ju alltid ta response.Write på getURL variabeln för att exakt se vad som hämtas.

Medlem sedan juli 20003 825 inlägg
#6
Google  	 Error
 

    Forbidden
    Your client does not have permission to get 
URL /search?hl=sv&q=sökord from this server. 
(Client IP address: 193.17.218.90)

    Please see Google's Terms of Service posted at [url]http://www.google.com/terms_of_service.html[/url]

...med mera...

Hmmm.... Finns det nåt alternativ!? Måste fundera på det... Annars får man väl bygga en eget program som kollar detta!?

261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
116 ms — ändringar (db)