ayuda scrapper basico

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
asdexiva
Mensajes: 1
Registrado: 13 Jun 2015, 19:59

ayuda scrapper basico

Mensaje por asdexiva »

Código: Seleccionar todo

#include <Inet.au3>         
#include <Array.au3>        
#include <String.au3>      
#include <File.au3>          

$contador = 0                

while $contador < 14         

	if $contador = 0 Then   
local $url = _InetGetSource('http://chuiso.com') 

Else
	local $url = _InetGetSource('http://chuiso.com' & '/page/' & $contador & '/') 
EndIf

local $aArray1    

$aArray1 = _StringBetween ($url, '<h2>', '</h2>')


$contador2 = 0 

While $contador2 < 7  


    $buffer = $aArray1 [$contador2] 

    $buffer = BinaryToString($buffer, 4)

Local $file  = FileOpen ("Enlaces.txt",1)

  if $file = -1 Then
MsgBox (0, "Error", "No se puede abrir")
Exit
EndIf


FileWriteLine($file, $buffer) 

FileClose($file)

$contador2 = $contador2 + 1

WEnd

$buffer = $aArray1 &[$contador2]
$buffer = $aArray1 &^ ERROR
>Exit code: 1
$contador +=  1

WEnd

Código: Seleccionar todo

 $buffer = $aArray1 [$contador2] 

    $buffer = BinaryToString($buffer, 4)
por que me da error en esta parte el error este
(28) : ==> Subscript used on non-accessible variable.:

si me pudieran ayudar muchisimas gracias
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: ayuda scrapper basico

Mensaje por Chefito »

Por si aun no has encontrado la solución:
Te has equivocado al acotar el texto. _stringbetween no encuentra nada, por eso la variable está vacía. No existe el texto "<h2>". Te has equivocado. Supongo que lo que quieres pillar son solo los enlaces, asi que obviaremos todo lo demás:

Código: Seleccionar todo

$aArray1 = _StringBetween ($url, '<h2 class="title"> <a href="', '"')
También corrige esto para que no te de nunca problemas.

Código: Seleccionar todo

While $contador2 < UBound($aArray1)-1
Con esas dos cosillas te debe funcionar el código.

Un consejo. Ve introduciendo todos los enlaces en una variable, y cuando finalice crea el fichero de texto con el contenido de esa variable. Así no tienes que estar abriendo, cerrando y añadiendo texto al fichero continuamente....solo se haría al final una vez :smt002 .

Saludos.....y ordena algo mejor el código :smt033
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Responder