En Perl no es un LWP module:¿Hay algún módulo como LWP de Perl para Ruby?
La colección libwww-perl es un conjunto de módulos de Perl que proporciona una interfaz de programación de aplicaciones simple y consistente (API) para el World-Wide Web. El objetivo principal de la biblioteca es proporcionar clases y funciones que le permitan escribir clientes WWW. La biblioteca también contiene módulos que son de uso más general e incluso clases que lo ayudan a implementar servidores HTTP simples.
¿Hay un módulo similar (gema) para Ruby?
actualización
Aquí es un ejemplo de una función que he hecho que extrae el URL de de un sitio web específico.
use LWP::UserAgent;
use HTML::TreeBuilder 3;
use HTML::TokeParser;
sub get_gallery_urls {
my $url = shift;
my $ua = LWP::UserAgent->new;
$ua->agent("$0/0.1 " . $ua->agent);
$ua->agent("Mozilla/8.0");
my $req = new HTTP::Request 'GET' => "$url";
$req->header('Accept' => 'text/html');
# send request
$response_u = $ua->request($req);
die "Error: ", $response_u->status_line unless $response_u->is_success;
my $root = HTML::TreeBuilder->new;
$root->parse($response_u->content);
my @gu = $root->find_by_attribute("id", "thumbnails");
my %urls =();
foreach my $g (@gu) {
my @as = $g->find_by_tag_name('a');
foreach $a (@as) {
my $u = $a->attr("href");
if ($u =~ /^\//) {
$urls{"http://example.com"."$u"} = 1;
}
}
}
return %urls;
}
No estoy seguro de qué le hizo pensar 'LWP' es para analizar HTML. –
Lo he usado para extraer todo tipo de cosas de HTML, y también completar formularios en línea, enviarlos y navegar en el sitio web con 'LWP'. –
Wow, eso hubiera sido mucho más simple usando WWW :: Mechanize en Perl (o Ruby). –