webForumDet fria alternativet

Antalet träffar på Google

ASP

7 svar · 1 934 visningar · startad av angelica

Medlem sedan juli 2013280 inlägg
Frågan#1

Vid en sökning kan resultatsidan ge följande kod:

<div id="resultStats">Ungefär 6 330 resultat<nobr> (0,17 sekunder) </nobr></div>

Just i detta fallet är det 6 330 träffar, men det kan givetvis variera.

Finns det något sätt att, med kod, plocka ut antalet träffar? Antingen med ASP eller med regular expressions (som jag fortfarande inte till fullo behärskar)?

Medlem sedan juni 20019 519 inlägg
#2

är det regex uttrycket du är ute efter eller hur man få ut resultatet ifrån google?

Medlem sedan juli 2013280 inlägg
#3

Ursäkta mig, jag måste skriva slarvigt.

Resultatet från Google sparas i en variabel. I denna variabel, som innehåller resultatet av en sökning, finns bland annat antalet träffar på den specifika sökningen.

Jag vill helt enkelt kunna använda mig av denna siffra, som finns mellan de två DIV taggarna.

Ibland är det miljoner och ibland är det tusental. Är det fortfarande otydligt!?

Medlem sedan juni 20019 519 inlägg
#4

men du har redan den där strängen (och ja jag förstå att du har dynamiska värden) så det är bara regex uttrycket du är ute efter?

<%
pattern = "<div[^\d]+ ((?:\d+|&#160;)+).+\(([\d,]+) sekunder\)&nbsp;</nobr></div>"
text = "<div id=""resultStats"">Ungefär 6&#160;330 resultat<nobr> (0,17 sekunder)&nbsp;</nobr></div>"

dim r

set r = New RegExp
r.IgnoreCase = True
r.Global = True
r.Pattern = pattern
Set Matches = r.Execute(text)

Response.Write text
For each Match in Matches
	Response.Write Match.SubMatches(0) & "<br>"
	Response.Write Match.SubMatches(1)
Next
%>

långt ifrån det bästa uttrycket

Medlem sedan juli 2013280 inlägg
#5

men du har redan den där strängen (och ja jag förstå att du har dynamiska värden) så det är bara regex uttrycket du är ute efter?

Man får reda på strängen efter varje sökning, ja.

***
Tack för din kod!

Du har ju 160 i din pattern. Det känns inte helt optimalt...

Går det inte bara att plocka ut all kod mellan div-taggarna?

<div id="resultStats"> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx </div>

Du kan testa detta själv genom att söka på vad som helst och tanken är att det ska fungera även med detta uttrycket. (26 miljoner)

Medlem sedan juni 20019 519 inlägg
#6

Den hämtar inte ut 160, den hämtar   eller ett tal så om du få:

10 000 000 så kommer den ge dig "10 000 000" (sen är det ju bara att antingen köra en replace på   eller plocka bort dom).

<div id=""resultStats"">(.*)</div>

om du inte bry dig om att hämta ut specifika poster i uttrycket.

Medlem sedan juli 2013280 inlägg
#7

All right.
Ursäkta mig! Jag prövade din kod nu och det ser lovande ut.
Jag ber att få återkomma, efter lite prövande...

Medlem sedan juli 2013280 inlägg
#8

Hoppla igen!
Jag skulle vilja väcka liv i denna gamla tråden igen, för jag har en fråga som anknyter till ämnet...

Jag skulle vilja göra ett system, som påminner om Google Analytics, i den bemärkelsen att man lägger in en kod på hemsidan som gör att man "på distans" kan identifiera att en viss hemsida tillhör en viss person.

Google Web Tool (eller vad det heter) har nåt liknande.
Hur gör man? Vad skulle vara enklast?
Som META tagg eller som <--! här är lite ägandekod --> inne på sidan?

Typiskt... men jag har funderat på detta ett bra tag men nu inser jag att jag ska titta närmare på Google Webmaster Tool, som jag tror det heter.

270 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)