2010-11-21 20 views
-3

Voici le code qui doit être construit en boucle - pour que USER-Agent puisse itérer sur un groupe de cibles.Boucle en Perl - avec LWP :: UserAgent

for my $i (1..10000) { 
    my $request = HTTP::Request->new(GET => 
sprintf("http://www.example.com,%d", $i)); 

Est-ce la bonne méthode pour itérer? J'aimerais avoir de vos nouvelles ... pour obtenir un point de départ ...

+0

Il vous manque une fermeture '}' sur votre boucle, et votre 'sprintf' ne fera pas une URL valide (I ' Je devine que vous voulez un/là au lieu d'une virgule.) Mais sinon, cela devrait fonctionner correctement. – friedo

+0

Bonjour Friedo - merci beaucoup pour la réponse rapide! Comment - Sprintf ne correspond pas? Ici, je peux fournir un peu plus d'aide pour obtenir la cible! -btw voir trois page de détail: http://www.schulministerium.nrw.de/BP/SchuleSuchen?action=261.2855969084779&SchulAdresseMapDO=116191 http://www.schulministerium.nrw.de/BP/SchuleSuchen?action=261.2855969084779 & SchulAdresseMapDO = 116270 http://www.schulministerium.nrw.de/BP/SchuleSuchen?action=261.2855969084779&SchulAdresseMapDO=188268 btw: nous pouvons faire une boucle sur les résultats - avec une itération - – zero

+0

Friedo - devrait-il être nommé autre - sprintf ("http: //www.example.com,%d", $ i)); sans la virgule!? Note j'ai beaucoup de nombreuses pages qui ont des résultats - et beaucoup pas: alors je dois faire une itération sur un large éventail - analyser tous et jeter tous ceux qui n'ont pas de résultats/(En passant: sont ces pages avec des erreurs 500er !?) – zero

Répondre

1

Juste une suggestion, vous pouvez utiliser à la place WWW::Mechanize, qui est une sous-classe pratique pour le module LWP ::. Pour ce que vous voulez faire, le code pourrait ressembler à ceci:

foreach my $i (1..1000) 
{ 
    #$mech is a object for WWW::Mechanize 
    $mech->get("http://yourtarget.com/whateveryouwant"); 
} 

Ensuite, vous pouvez trier les résultats par ex. par le code de réponse (404 - Non trouvé, 200 - OK ...) en vérifiant $mech->status()

+0

Bonjour Cyber-Guard Design, Merci beaucoup pour votre réponse. Mecha semble être plus pratique et approprié. Je vais regarder de plus près les Mecha-Man-Pages @ CPAN. Encore une fois: Mille Grazie - super conseil d'administration ici. Continuez votre bon travail ... ;-) – zero

+0

Salut, content que je puisse vous aider. Jetez un coup d'œil aux pages de manuel, c'est littéralement le guide le plus complet pour le module ... Et quand il s'agit de traitement de site avec perl, ça ne vaut pas mieux que WWW :: Mechanize, si facile à utiliser et flexible! –