[linux-l] [OT] url suchen regex
Robert C. Helling
r.helling at iu-bremen.de
Di Nov 7 17:40:24 CET 2006
On Tue, 7 Nov 2006, U. Bauermann wrote:
> Ohja, das würde mich auch interessieren.
>
> Anfang diesen Jahres konnte man ja noch nach Sonderzeichen mitsuchen (zB
> /etc/squid.conf), heute werden die Sonderzeichen ausgefiltert (ergibt etc
> squid). Lauf Google war das notwendig, weil diese Möglichkeit die Suchengine
> überlastete.
>
> Grüsse
> Uwe
>
> GoogleIvan F. Villanueva B. schrieb:
>> Hallo,
>> kennt jemand eine Möglichkeit von einer Internet-Suchmaschine, URLs nach
>> eine
>> Regex zu suchen? z.B.:
>> aaa.com/.*bb
>
Ich habe mir mal fuer den Hausgebrauch ein cgi-Skript geschrieben, dass
einen Google Querry und eine Regex bekommt und unter den Ergebnissen von
google nach der Regex sucht. Ist aber leider nur ein q&d hack fuer den
Hausgebrauch und nicht wirklich sicher.
Robert
#!/usr/bin/perl -w
use LWP::Simple;
use Net::Google;
use CGI;
use constant LOCAL_GOOGLE_KEY => "Hier muss Dein Google API Key Rein";
my $google = Net::Google->new(key=>LOCAL_GOOGLE_KEY);
my $search = $google->search();
$q = new CGI;
if($q->param){
$q->param('offset',$q->param('offset')+10);
}
print $q->header,$q->start_html("Robert's regex google refinement"),
$q->h1("Robert's regex google refinement"),
$q->start_form,
"Query: ",
$q->textfield(-name => 'query',
-size => 50),
"Regex: ",
$q->textfield(-name => 'regex',
-size => 20),
$q->br,
"Max querries: ",
$q->textfield(-name => 'maxq',
-size => 5,
-default => 50,
-override => 1),
"Offset: ",
$q->textfield(-name => 'offset',
-size => 5),
$q->submit(-name => 'Here we go'),
$q->end_form;
print "<a href=",$q->self_url,">Hierher</a> ";
$q->param('offset',$q->param('offset')+10);
print "<a href=",$q->self_url,">Spaeter</a>";
if($q->param){
$|=1;
print "HOHO You want me to querry Google for '",$q->param('query'),"'
matching ",$q->param('r
egex'),'<br>';
$search->query($q->param('query'));
$search->starts_at($q->param('offset'));
$search->max_results($q->param('maxq'));
$search->lr("en","de");
$results = $search->results();
foreach $treffer(@$results){
print "Processing ",$treffer->title(),"<br>\n";
my $page = &get($treffer->URL());
$regex = $q->param('regex');
$/='tatatatatat';
if($page =~ /$regex/s){
print $q->a({href => $treffer->URL()},$treffer->title()),'
matches <br>';
}
}
print map { '<a href="'.$_->URL().'">'.$_->title()."</a><BR>" }
@matches;
}
print $q->end_html;
--
.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oO
Robert C. Helling School of Science and Engineering
International University Bremen
print "Just another Phone: +49 421-200 3574
stupid .sig\n"; http://www.atdotde.de
Mehr Informationen über die Mailingliste linux-l