#!/usr/bin/perl -w use strict; use LWP::Simple; my $text = $ARGV[0]; if ( $text =~ /(http:\/\/|)(www\.|)youtube\.com\/watch\?v=/ ) { my ($url) = $text =~ /(youtube\.com.*?)(?:\s+|$)/; $url =~ s/(&|;|\$|{).*//; print $url." "; # Seite wird runtergeladen my $content = get "http://www.".$url; die "Couldn't get $url" unless defined $content; # Titel des Videos my $title; if ($content =~ m/YouTube - (.*)<\/title>/) { $title = $1; # HTML Entities für Anführungszeichen werden ersetzt $title =~ s/"/\"/gi; # Titel wird von einem evtl. störenden Zeilenumbruch befreit. chomp $title; if ( length( $title ) > 40 ) { $title = substr($title, 1, 40) . "..."; } } # Tags des Videos my $taglist; my $counter = 0; my @lines = split(/\n/, $content); foreach my $tag (@lines) { if ($tag =~ m/.*class="dg">.*/) { $tag =~ s/.*dg\">//; $tag =~ s/<.*//; chomp $tag; if ( length( $tag ) < 20 && $counter < 5 ) { $counter++; $taglist .= ", " if $taglist; $taglist .= $tag; } } } $taglist .= ", ..." if $counter == 5; if ( $title ) { print( "YouTube video: ".${title}." - tags: ".${taglist}."\n" ); } } else { print "There is no YouTube video."; }