mariogalaxy2
Goto Top

Links auslesen und speichern mit VBS

Hallo,

und zwar habe ich einen script von Friemler empfohlen bekommen. Script funktioniert auch, alles wunderbar.
Nur dieser script muss etwas angepasst werden. habe leider mit nur sehr wenig ahnung wie das geht.
also so schaut das script aus:

args = WScript.Arguments.Count

if args <> 1 then
Wscript.Echo "usage: ScrapeLinks.vbs URL"
wscript.Quit
end if

URL = WScript.Arguments.Item(0)

With CreateObject("InternetExplorer.Application")
.Navigate URL
Do Until .ReadyState = 4
Wscript.sleep 10
Loop
for each link in .document.links
Wscript.echo link
next


' Uncomment the three lines below to scrape references to images

' for each pix in .document.images
' Wscript.echo pix.src
' next

.Quit
End With



Folgende änderungen werden gebraucht:

1. Script greift auf eine .txt liste mit den ganzen domains, der reihe nach z.B.
www.sdfsfd.com/bla1
www.safsafd345.com/bla2
www.ssfsdf.com/bla3
www.sitesfdsdf.com/bla4
www.sitesdfsdfr.com/bla5

2. durchsucht der reihe nach die domains nach links aber nur nach Links die bestimmte wörter etnhalten. z.B. "ufo" und "init"

3. dann nur diese links in denen diese wörter enhalten sind in eine .txt datei abspeichern.

ich hoffe ihr könnt mir helfen.

danke!

Content-ID: 167871

Url: https://administrator.de/contentid/167871

Ausgedruckt am: 25.11.2024 um 04:11 Uhr

76109
76109 11.06.2011 um 01:40:25 Uhr
Goto Top
Hallo mariogalaxy2!

Versuchs mal hiermit (Dateipfade anpassen):
Option Explicit

Const ImportFile = "E:\Test\ImportLinks.txt"  
Const ExportFile = "E:\Test\ExportLinks.txt"  

Const READYSTATE_COMPLETE = 4

Dim Fso, File, Text, TextZeile, Link
    
Set Fso = CreateObject("Scripting.FileSystemObject")  
    
Set File = Fso.OpenTextFile(ImportFile)
    
Text = Split(File.ReadAll, vbCrLf):  File.Close
    
Set File = Fso.CreateTextFile(ExportFile)
     
With CreateObject("InternetExplorer.Application")  
    For Each TextZeile In Text
        If TextZeile <> "" Then  
           .Navigate "http:\\" & TextZeile  
            Do: Loop Until .ReadyState = READYSTATE_COMPLETE
            
            For Each Link In .Document.Links
                If InStr(1, Link.HRef, "UFO", vbTextCompare) > 0 Or InStr(1, Link.HRef, "INIT", vbTextCompare) > 0 Then  
                    File.WriteLine Link.HRef
                End If
            Next
        End If
    Next
   
   .Quit
End With

File.Close

Gruß Dieter
mariogalaxy2
mariogalaxy2 11.06.2011 um 10:46:23 Uhr
Goto Top
Hallo Dieter,

vielen Dank! Sie sind der beste!!! Alles funktioniert wunderbar!!!!!!!


Danke nochmal!!!
Guenni
Guenni 11.06.2011 um 17:53:09 Uhr
Goto Top
Hi mariogalaxy2,

das ist natürlich auch eine Strategie, eine Lösung serviert zu bekommen, ohne sich selbst zu bemühen:

Zuerst im Thema PHP posten, wenn man damit nicht zurecht kommt, na', da machen wir doch zum selben

Problem einen neuen Thread unter VBS auf. Irgendeiner wird sich schon finden, der's macht.

Glückwunsch face-smile


Gruß
Günni
mariogalaxy2
mariogalaxy2 11.06.2011 um 20:19:57 Uhr
Goto Top
also ich bin solchen menschen wie Dieter sehr dankbar, die helfen!!!
wie soll ich mich da zurechtkommen, wenn ich davon keine ahnung habe und auch keine zeit zum erlernen habe.
du hast gut reden günni. große klappe nichts dahinter! face-smile