Recorrer páginas web y copiar datos
Creé este script para una amiga que recorre un sitio web de bienes raíces y engancha una dirección de correo electrónico para ella (para promoción). El sitio los ofrece libremente, pero es inconveniente tomar uno a la vez. El primer script descarga los datos de cada página en un archivo txt llamado webdump y el segundo extrae las direcciones de correo electrónico del primer archivo txt. Guarde cada uno de estos en un archivo .vbs separado. Si desea probar el script, puede cambiar lo siguiente a un número más bajo (esta es la cantidad de páginas procesadas):
Do while i < 1334
El primero presenta errores y no estoy totalmente seguro de por qué y el segundo extrae un poco más que solo las direcciones de correo electrónico y, una vez más, no estoy totalmente seguro de por qué. No soy un tipo vbs altamente calificado, pero esos problemas no están relacionados con mi pregunta ... Pregunta en la parte inferior ...
set ie = createobject("internetexplorer.application")
Set objShell = CreateObject("WScript.Shell")
Dim i
i = 0
Do while i < 1334
i = i + 1
ie.navigate "http://www.reoagents.net/search-3.php?category=1&firmname=&business=&address=&zip=&phone=&fax=&mobile=&im=&manager=&mail=&www=&reserved_1=&reserved_2=&reserved_3=&filterbyday=ANY&loc_one=&loc_two=&loc_three=&loc_four=&location_text=&page="&i
do until ie.readystate = 4 : wscript.sleep 10: loop
pageText = ie.document.body.innertext
set fso = createobject("scripting.filesystemobject")
set ts = fso.opentextfile("c:\webdump.txt",8,true)
ts.write pageText
ts.close
loop
Wscript.Echo "All site data copied!"
Y la segunda pieza:
Const ForReading = 1
Const ForWriting = 8
Set objRegEx = CreateObject("VBScript.RegExp")
objRegEx.Pattern = "@"
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Input file
Set objFileIn = objFSO.OpenTextFile("C:\webdump.txt", ForReading)
strOutputFile = "C:\cleanaddress.txt"
Do Until objFileIn.AtEndOfStream
strSearchString = objFileIn.ReadLine
Set colMatches = objRegEx.Execute(strSearchString)
If colMatches.Count > 0 Then
For Each strMatch in colMatches
' Output File
Set objFileOut = objFSO.OpenTextFile(strOutputFile, ForWriting, True)
IF InStr(strSearchString," ") = 0 THEN
objFileOut.writeline strSearchString
ELSE
objFileOut.writeline Left(strSearchString,InStr(strSearchString," ")-1)
END IF
objFileOut.Close
Set objFileOut = Nothing
Next
End If
Loop
objFileIn.Close
Wscript.Echo "Done!"
Puedo desplazarme por las páginas de ese sitio fácilmente debido a la forma en que es la dirección ... el último número de dirección es secuencial, sin embargo, ahora quiero probarlo con esta dirección:
que parece estar basado en java. Cuando hago clic en cada página, la dirección no cambia. ¿Es posible hacer algo similar a lo que he hecho en el otro sitio en este caso?