StevePMedlem sedan mars 2003772 inlägg Jag har en liten fundering angående hämtning av info från andra sidor.
Jag vet hur man plockar ut länkar etc från andra sidor, men hur gör man och går det att plocka ut specifika länkar på en sida?
T ex en sida som har 50 länkar på första sidan men jag vill enbart plocka ut dom länkarna som ligger under en rubrik som heter Articles.
Exempel
Headlines
<a href="foo">Rubrik</a>
<a href="foo">Rubrik</a>
<a href="foo">Rubrik</a>
Articles
<a href="foo">Rubrik</a>
<a href="foo">Rubrik</a>
<a href="foo">Rubrik</a>
Info
<a href="foo">Rubrik</a>
<a href="foo">Rubrik</a>
<a href="foo">Rubrik</a>
Osså finns det en hel del andra länkar utspridda på samma sida.
Hur gör jag då för att enbart plocka dom länkarna som ligger under Articles?
solbulleMedlem sedan mars 20015 287 inlägg Hämta först det partiet som ligger mellan Articles samt Info och plocka sen länkarna ur det området.
Söker du på xmlhttp samt Regexp lär du hitta exempel om inte annat.
StevePMedlem sedan mars 2003772 inlägg Jag får inte till den riktigt..
Hur är det när man söker mellan 2 vanliga texter?
Detta fungerar endast om texten ligger på samma rad
objRegExp.pattern = "(ord1)(.*?)(ord2)"
men hur gör man för att söka mellan 2 ord där det första ordet är högst upp på sidan och det andra kanske mitt i?
objRegExp.pattern = "(Articles)(<a.*?>*?</a>)(Conferences)"
Jag försöker alltså plocka ur Artiklarna på http://www.asp.net/
StevePMedlem sedan mars 2003772 inlägg Nu får jag ut allt mellan det två orden, men hur gör jag för att enbart få ut allt inom <a till </a> inom dom 2 orden?
Jag vill alltså slå ihop dessa 2
objRegExp.pattern = "(ord1/*[\d\D]*?ord2)"
objRegExp.pattern = "<a.*?>*?</a>"
StevePMedlem sedan mars 2003772 inlägg Man kanske kan köra en ObjRegExp på den texten man fick ut i den första?
Men då har jag ett problem
url = "http://www.asp.net"
Set xmlhttp = server.CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.open "GET", url, False
xmlhttp.send ""
myString = xmlhttp.responsetext
Set xmlhttp = nothing
Set objRegExp = new RegExp
objRegExp.pattern = "(articles*[\d\D]*conferences)"
objRegExp.IgnoreCase = True
objRegExp.Global = True
Set myMatches = objRegExp.Execute(myString)
Set objRegExp = nothing
'Nästa RegExp som ska dra ut info från den förra RegExp'n
'Här e problemet ####
[b]myString2 = "Här vill jag ha in all text som myMatches returnerade från förra objRegExp"[/b]
Set objRegExp2 = New RegExp
objRegExp2.pattern = "<a.*?>*?</a>"
objRegExp2.IgnoreCase = True
objRegExp2.Global = True
Set myMatches2 = objRegExp2.Execute(myString2)
cnt = 1
For each item In myMatches2
Response.Write "<B>" & item.value & "</B><BR>"
cnt = cnt + 1
Next
solbulleMedlem sedan mars 20015 287 inlägg Om du är "säker" att du bara får en träff så behöver du ju inte loopa ut den raden utan bara använda dig av den första (och enda) posten:
myString2 = myMatches(0)
StevePMedlem sedan mars 2003772 inlägg Nej jag får en massa träffar, ca 10 olika länkar med en massa text och bilder runt som jag vill få bort med den andra regexp'n.. därför måste jag stoppa in allt som myMatches returnerar i myString2
StevePMedlem sedan mars 2003772 inlägg Vänta nu, detdär fungerade.. jag som missförstod dig!
Tack!
solbulleMedlem sedan mars 20015 287 inlägg Np. Bra jobbat med det där scriptet tycker jag btw.
StevePMedlem sedan mars 2003772 inlägg Oh tack :r
Mycket tack vare din hjälp också :birp