http://searchengines.guru/showthread.php?t=136923
![]() | #3 |
Аспирант Регистрация: 09.01.2007 Сообщений: 132 Репутация: -700 | ![]() не работает ![]() |
![]() | ![]() |
![]() | #4 |
Студент Регистрация: 02.03.2006 Сообщений: 27 Репутация: 4292 | ![]() #!/usr/bin/perl # Более подробно print "Content-type: text/html\n\n"; # указываем путь к HTML-файлу $file = "/путь к файлу/my_file.htm"; # читаем HTML-файл и пишем все в массив open (FILE,"<$file"); @html=<FILE>; close(FILE); # преобразуем массив строк HTML-страницы в строку $html = join("",@html); # выбираем все ссылки со страницы @html = $html =~ m/<A[^>]+?HREF\s*=\s*["']?([^'" >]+?)[ '"].*?>/sig; # выводим полученные ссылки, каждая - с новой строки foreach (@html) { print $_ . "<br>"; } |
![]() | ![]() |
![]() | #5 |
Аспирант Регистрация: 09.01.2007 Сообщений: 132 Репутация: -700 | ![]() интересно, а анкоры вытащить намного сложнее? можете помочь со скриптом? |
![]() | ![]() |
![]() | #6 | |
Профессор Регистрация: 14.01.2007 Сообщений: 869 Репутация: 122923 | ![]() Цитата:
@links= $html =~ m/<A[^>]+?HREF\s*=\s*["']?([^'" >]+?)[ '"].*?>/sig; @anchors= $html =~ m/<A[^>]+?HREF\s*=\s*["']?[^'" >]+?[ '"].*?>([^<]+)/sig; # выводим полученные ссылки, каждая - с новой строки foreach (@links) { print $_ . "<br>"; } foreach (@anchors) { print $_ . "<br>"; } типа того... | |
![]() | ![]() |
![]() | #7 |
Студент Регистрация: 02.03.2006 Сообщений: 27 Репутация: 4292 | ![]() Вариантов для реализации очень много, можно и так: # выбираем все ссылки с анкорами со страницы while ($html =~ s/<A[^>]+?HREF\s*=\s*["']?([^'" >]+?)[ '"].*?>([^<]+)//si) { push @Ahtml, $2.": ".$1 } # выводим полученные анкоры и ссылки, каждую пару - с новой строки foreach (@Ahtml) {print $_ . "<br>";} |
No comments:
Post a Comment