[VBS/ASP]Downloaden alle "ID's" van ASP-site

Pagina: 1
Acties:
  • 46 views sinds 30-01-2008

  • veryip
  • Registratie: Maart 2001
  • Laatst online: 15:20

veryip

Nikon D7000 + Glas

Topicstarter
Probleem...

Ik wil van een ASP site alle ID's downloaden in een mapje ofzo op m'n comp.

Zeg maar de complete output van een ASP-zoekscriptje-in-een-database downloaden

En om nou alle internetadressen handmatig in te typen & op te slaan als HTML lijkt me niet de bedoeling.

webadres output http://www.blabla.com/zoeken.asp zie er zegmaar zo uit: http://www.blabla.com/resultaat.asp?ID=25080

Als je de "ID" verander krijg je een andere record... en dan wil ik zeg maar alles downloaden in een range van 00000 tot 30000 oid

Heb al lopen zoeken maar de siteripprogies die ik heb geprobeerd vullen niets in en volgen alleen maar links... wat dus nu niet gaat werken...

En heb verder geen flauw idee welke zoektermen ik zou kunnen gebruiken :-S

ideeen??

[ Voor 3% gewijzigd door veryip op 12-10-2005 00:19 ]

Nikon D7000


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Regular expressions.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

@NMe: :?

@veryip: Wil je nou zelf software gaan schrijven of zoek je een programma? In het tweede geval staat deze post in de verkeerde categorie (maak een TR aan met een vraag om een move naar SA), in het eerste geval mis ik een beetje wat je al geprobeerd hebt.

Mijn idee zou zijn om met VBScript alle URL's te maken als een string om vervolgens met het XMLHTTP, XMLServerHTTP of WinHttpRequest een GET te doen van de webpage en de resultaten op te slaan. Je zult wel een test moeten inbouwen of er wel zinvolle resultaten terugkomen van de server, zodat je niet tot in het oneindige blijft opvragen.

Overigens moet je wel bedenken dat de host van de site waarschijnlijk niet blij wordt van al dit dataverkeer en het gebruik van zijn pagina's / data buiten de site, dus vraag wel eerst om toestemming.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op woensdag 12 oktober 2005 @ 01:00:
Overigens moet je wel bedenken dat de host van de site waarschijnlijk niet blij wordt van al dit dataverkeer en het gebruik van zijn pagina's / data buiten de site, dus vraag wel eerst om toestemming.
Het is idd heel simpel te maken met een VBS scriptje en wat van voorgenoemde objecten (XMLHTTP e.d.) ofzo (.status checken, is die >200 en <400 dan zal het wel goed zijn en de .responseText opslaan). Maar om eerlijk te zijn lijkt dit nogal op een scriptrequest (als het voor P&W bedoeld is) en ik trek ook zo mijn twijfels bij het nut er van (als in: ben je wel legaal bezig dan?)

Maar goed, ik verveel me... :P
/edit: Zie deze post iets verderop in dit topic... :Y)

[ Voor 78% gewijzigd door RobIII op 12-10-2005 01:39 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Hmm, ik dacht dat ie wou inlezen welke ID's allemaal gebruikt worden in linkjes. Verkeerd begrepen dus. :)

Verder sluit ik me bij RobIII aan. Het is eenvoudig te maken door een loop te maken waar een tellertje opgehoogd wordt en vervolgens request gemaakt wordt naar een bepaalde url, waar dat tellertje aan geplakt wordt.

Verder zie ik een ASP-tag in je topictitel, maar intussen probeer je alleen maar van een ASP site content te rippen. Schrijf je je code ook in ASP?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ik verveel me meer dan ik dacht :P

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
SaveURLs "http://www.webwereld.nl/articles/%num%", 37600, 37610, "C:\Output_webwereld.xml"
SaveURLs "http://www.blabla.com/resultaat.asp?ID=%num%&user=someone&pass=asecret", 1, 30, "C:\Output_blabla.xml"
Msgbox "Done!"

Private Sub SaveURLs(sURL, lStart, lEnd, sDestination)
    '**********
    'Deze sub haalt de opgegeven URLs op van lStart tot lEnd en slaat ze op in een XML document in locatie sDestination
    'In de sURL parameter wordt de %num% tekenreeks vervangen door het (oplopende) "id"/"nummer"
    'Errorhandling mag je zelf bouwen ;)
    '**********
    Dim oDoc, T
    Dim oOut, oRoot, oNode
    
    Set oDoc = CreateObject("WinHttp.WinHttpRequest.5.1")   'Create object to retrieve web-pages
    Set oOut = CreateObject("MSXML.DomDocument")            'Create object to store results
    
    Set oRoot = oOut.createElement("savedurls")             'Create a result document
    oRoot.setAttribute "url", sURL                          'Save some info about this function call
    oRoot.setAttribute "start", lStart
    oRoot.setAttribute "end", lEnd
    oRoot.setAttribute "date", Now
    oOut.appendChild oRoot                                  'Add root to document
    
    For T = lStart To lEnd  'Loop all from lStart to lEnd
        oDoc.open "GET", Replace(sURL, "%num%", CStr(T))    'Build URL
        oDoc.send                                           '...And go fetch it
        If oDoc.status >= 200 And oDoc.status < 400 Then    'HTTP status ok?
            Set oNode = oOut.createElement("page")           'Create url node
            oNode.nodeTypedValue = oDoc.responseText        'Save response
            oNode.setAttribute "http_status", oDoc.status   'Save the http_status code
            oNode.setAttribute "num", T                     'Save the ID that was retrieved
            oRoot.appendChild oNode                         'Add node to root
        End If
    Next
    oOut.save sDestination                                  'Save results
    
    Set oOut = Nothing  'Free objects
    Set oDoc = Nothing
End Sub


Copy/paste naar een .VBS bestand en URL aanpassen en runnen...

De SaveURLs functie kun je aanroepen met een url, waarbij je het ID nummer vervangt door %num% (case sensitive). De 2e en 3e parameter zijn het start en eind ID dat je wil ophalen en de laatste parameter is waar je je resultaten wil opslaan. URL's worden dus gemaakt door %num% te vervangen door het "ID" (van lStart tot lEnd).

De resultaten worden in 1 xml document opgeslagen als "page"-nodes en wel als volgt:
code:
1
2
3
4
5
6
7
8
<savedurls url="http://www.webwereld.nl/articles/%num%" start="37600" end="37610" ate="10/12/2005 1:22:18 AM">
    <page http_status="200" num="37600"> ...webpage html hier... </page>
    <page http_status="200" num="37601"> ...webpage html hier... </page>
    <page http_status="200" num="37602"> ...webpage html hier... </page>
    ...
    ...
    <page http_status="200" num="37610"> ...webpage html hier... </page>
</savedurls>


Je kunt ze natuurlijk ook als losse documenten opslaan. Mij leek het echter wel grappig om alles in 1 bestand op te slaan en daarmee wat zoekwerk voor de TS over te laten ;)
-NMe- schreef op woensdag 12 oktober 2005 @ 01:13:
Verder zie ik een ASP-tag in je topictitel, maar intussen probeer je alleen maar van een ASP site content te rippen. Schrijf je je code ook in ASP?
Dat is wel handig om te weten ja ;)
Deze code werkt uiteraard in ASP, maar dus ook als VBS. In de ASP zou ik alleen even de 'MsgBox "done"' weghalen ;)
Verwijderd schreef op woensdag 12 oktober 2005 @ 01:37:
@RobIII: Voorzeggurt! Gaat slapen! :p
Ik wil niet slapen :'( Het is nog LAAAAANG geen bedtijd!! :'( Ah toe?? 1 minuutje nog? :P
Verwijderd schreef op woensdag 12 oktober 2005 @ 01:37:
@MrX: Gaat slapen dwaas, je bent off topic aan het posten! |:( 8)7
Jah....

[ Voor 211% gewijzigd door RobIII op 12-10-2005 01:43 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

@RobIII: Voorzeggurt! Gaat slapen! :p
@NMe: No harm, no faul ;)
@MrX: Gaat slapen dwaas, je bent off topic aan het posten! |:( 8)7

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
RobIII schreef op woensdag 12 oktober 2005 @ 01:03:
[...]

Het is idd heel simpel te maken met een VBS scriptje en wat van voorgenoemde objecten (XMLHTTP e.d.) ofzo (.status checken, is die >200 en <400 dan zal het wel goed zijn en de .responseText opslaan). Maar om eerlijk te zijn lijkt dit nogal op een scriptrequest (als het voor P&W bedoeld is) en ik trek ook zo mijn twijfels bij het nut er van (als in: ben je wel legaal bezig dan?)

Maar goed, ik verveel me... :P
/edit: Zie deze post iets verderop in dit topic... :Y)
Als je toch de status gaat checken zoek dan ook ff de rfc's van statussen op. Heb zo snel niet het lijstje bij de hand, maar 302 (page moved ) moet je of desgewenst apart behandelen of negeren. Hij is opzich niet fout, maar verdient wel extra behandeling en zo heb je er nog wel een paar. Dus zoek er gelijk even de goede rfc bij ( iemand enig idee??? )

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 00:54

Pelle

🚴‍♂️

Gomez12 schreef op woensdag 12 oktober 2005 @ 01:48:
Dus zoek er gelijk even de goede rfc bij ( iemand enig idee??? )
Wat dacht je van http://www.google.com/sea...2coff=1&q=rfc+http+status ?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Gomez12 schreef op woensdag 12 oktober 2005 @ 01:48:
Als je toch de status gaat checken zoek dan ook ff de rfc's van statussen op. Heb zo snel niet het lijstje bij de hand, maar 302 (page moved ) moet je of desgewenst apart behandelen of negeren. Hij is opzich niet fout, maar verdient wel extra behandeling en zo heb je er nog wel een paar. Dus zoek er gelijk even de goede rfc bij ( iemand enig idee??? )
Je hebt helemaal gelijk, daar niet van hoor. Maar ik vond het wat te ver gaan voor dit simpele voorbeeldje... Laten we maar even wachten tot (en of) we nog iets horen van de TS...

[ Voor 7% gewijzigd door RobIII op 12-10-2005 11:09 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • veryip
  • Registratie: Maart 2001
  • Laatst online: 15:20

veryip

Nikon D7000 + Glas

Topicstarter
'k ben idd op zoek naar een programma dus wellicht dat ik in het verkeerde topic heb gepost; en van VB heb ik ... helaas ... helemaal geen kaas gegeten.

maar ik zal eens gaan lopen prutsen met dat VB-scriptje... of nog liever met een proggie als dat er is...

THNX i.i.g. alvast voor alle (nachtelijke) reacties

Nikon D7000


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
veryip schreef op woensdag 12 oktober 2005 @ 11:55:
'k ben idd op zoek naar een programma dus wellicht dat ik in het verkeerde topic heb gepost; en van VB heb ik ... helaas ... helemaal geen kaas gegeten.

maar ik zal eens gaan lopen prutsen met dat VB-scriptje... of nog liever met een proggie als dat er is...

THNX i.i.g. alvast voor alle (nachtelijke) reacties
Dat VBS'je dat ik hier postte moet je zonder gehinderd te zijn door enige kennis van programmeren toch ook makkelijk aan de praat krijgen. Gewoon copy/pasten naar een .vbs bestand, url's invullen en gaan met die banaan.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • veryip
  • Registratie: Maart 2001
  • Laatst online: 15:20

veryip

Nikon D7000 + Glas

Topicstarter
RobIII schreef op woensdag 12 oktober 2005 @ 01:03:
[...]

Maar om eerlijk te zijn lijkt dit nogal op een scriptrequest (als het voor P&W bedoeld is) en ik trek ook zo mijn twijfels bij het nut er van (als in: ben je wel legaal bezig dan?)
Ehm... legaal, illegaal...

is het strafbaar dan om een site waar wordt aangeboden dat je gegevens kunt opzoeken maar als je die allemaal wilt hebben... dat je die dan allemaal mbv een scriptje (wat trouwens errug goed werkt => THNX!) "even" binnenhaald.

Of ik daar nou handmatig 7 werkdagen over gan doen of emt een scriptje iets korter maakt niets uit toch?

Tja... dataverkeer; als ik alles met de hand had gedaan was het wat meer gespreid geweest.... nu op 1 avond... tja...

Maarrem... ff serieus... is dit illegaal??

Nikon D7000


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Hangt ervanaf wat voor content je ophaalt, maar ja, meestal is dit niet legaal. Je kan beter de makers van die site om toestemming vragen.

Overigens is dit allang geen programmeertopic meer. Om te beginnen gaf je al aan zelf niet te programmeren en dat je een programma zocht; iets wat eigenlijk in Software Algemeen hoorde. Bovendien wil je nu weten of het wel legaal is wat je doet, en dat heeft weer meer in Stuffis Generalis te zoeken. Verder geldt altijd: neem bij twijfel contact op met de makers/eigenaars.

Anyway, dicht dus. Mocht je nog willen discussiëren over het al dan niet legaal zijn van je oplossing, dan kun je in Stuffis Generalis terecht. Echter, neem dus eerst even contact met de maker van die site op, die kan je veel meer vertellen dan wij. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.