Jag vill skriva ett bash-script, dock klarar jag inte av det med mina kunskaper.
Det scriptet ska göra är att söka gå igenom ett (stort) antal webbsidor och kolla vilka som går att kolla på.
tex https://connect.sunet.se/p78054136
det är en acobe connect-film, det är alltså sådanna filmer jag är ute efter.
Är det möjligt att skriva ett skrip som går igenom alla https://connect.sunet.se/p00000000 - 99999999 sidor och skriver ut de fungerande sidorna på ett txt-dokument?
Det är alltså nästan 100000000 sidor att gå igenom. Mycket alltså. Är det ens möjligt?
bashscript
Re: bashscript
Det är väldigt många sidor att kolla igenom.
Låt oss anta att du faktiskt hinner kolla upp så mycket som tre sidor per sekund och att du har på en dator som testar sidor dygnet runt.
100000000/(3*60*60*24*365) = 1.05
Då skulle du vara färdig på lite drygt ett år.
Men ja, rent teoretiskt skulle du kunna bygga ett script som testar varenda sida.
Låt oss anta att du faktiskt hinner kolla upp så mycket som tre sidor per sekund och att du har på en dator som testar sidor dygnet runt.
100000000/(3*60*60*24*365) = 1.05
Då skulle du vara färdig på lite drygt ett år.
Men ja, rent teoretiskt skulle du kunna bygga ett script som testar varenda sida.
Re: bashscript
Det var det jag misstänkte.
Går det inte att via ett script kolla flera sidor samtidigt eller på något annat sätt öka farten?
Går det inte att via ett script kolla flera sidor samtidigt eller på något annat sätt öka farten?
- mcNisse
- Inlägg: 5211
- Blev medlem: 06 feb 2007, 20:51
- OS: Debian
- Utgåva: Vet inte/ingen utgåva passar
Re: bashscript
Det är möjligt... och mycket troligt att du behöver göra för att ens komma upp i 3 sidor/s. Men du kan inte lasta på hur mycket som helst. Då blir det en DoS attack av ditt skript 

Re: bashscript
Är det något sådant här du menar? Du får ändra regexet själv eftersom du inte berättade vad det ska vara för extension.
Då kan du använda det i stil med;
(osäker på om {1..30} fungerar i bash... någon?)
Kod: Markera allt
use strict;
use WWW::Mechanize;
my $m = WWW::Mechanize->new;
$m->agent_alias('Windows Mozilla');
if(!@ARGV) {
print 'Give me uris', "\n";
}
my @urls = @ARGV;
sub fetch {
my @urls = (@_);
foreach my $url(@urls) {
$m->get($url) or warn 'DEAD!';
}
foreach my $grabbed($m->links) {
if($grabbed->url_abs =~ m/.*/ix) {
print $grabbed->url_abs, "\n"
}
}
}
&fetch(@urls);
Kod: Markera allt
perl foo.pl http://foo.bar/page{1..30}
ǁ A: Because it obfuscates the reading.
ǁ Q: Why is top posting so bad?
ǁ Q: Why is top posting so bad?
Re: bashscript
Denna lär vara ännu simplare att använda för just ditt syfte http://search.cpan.org/~abeltje/WWW-Che ... eckSite.pm
ǁ A: Because it obfuscates the reading.
ǁ Q: Why is top posting so bad?
ǁ Q: Why is top posting so bad?
Re: bashscript
Försöker du köra 100000000 anrop till sunet.se rakt av, så lär deras brandvägg reagera och ditt IP blir bannat.