Я хотел бы написать скрипт Perl, чтобы получить содержимое html веб-страницы, а затем очистить содержимое таблицы. Точная страница:Perl Screen Scrape Данные из таблицы
http://djbpmstudio.com/Default.aspx?Page=album&id=1
До сих пор я могу REGEX Артиста, альбом и жанр, а в качестве первой записи в таблице, используя код ниже:
use LWP::Simple;
$url = "http://djbpmstudio.com/Default.aspx?Page=album&id=1";
my $mystring = get($url) or die "Error fetching source page.";
$mystring =~ s/[\r\n]/ /g; #remove line breaks from HTML
$mystring =~ s/(>)\s+(<)/$1$2/g; #Remove white space between html tags
#print $mystring;
if($mystring =~ m{</table><h1>(.*?) - (.*?) - (.*?)</h1>}) {
#Get Artist name and print
print "Artist: $1\n";
print "Album: $2\n";
print "Genre: $3\n\n";
if($mystring =~ m{</tr><tr class="row-(.*?)"><td>(.*?)</td><td align="right">(.*?)</td></tr>}) {
#Get Songname and BPM and print
#print "$1\t";
print "$2\t";
print "$3\n";
}
}
В гнездо IF, класс чередуется между «row-a» и «row-b».
Я не уверен, как спуститься по списку и получить все названия песен и BPM для каждого. Я также хотел бы поместить имена песен и BPM в массив для обработки позже.
спасибо.
Возможный дубликат [теги OpenEx для открытия тегов, кроме тегов XHTML с автономными тегами) (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-containedtt) – outis