- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
В perl есть массив @html в нем html страницы.
пытаюсь получить все ссылки которые есть в нем:
но нужного результата не получаю :(
наверно гдето скосячил ? не поможете?
Попробуйте так:
# преобразуем массив строк HTML-страницы в строку
$html = join("",@html);
# выбираем все ссылки со страницы
@html = $html =~ m/<A[^>]+?HREF\s*=\s*["']?([^'" >]+?)[ '"].*?>/sig;
не работает :(
#!/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>";
}
интересно, а анкоры вытащить намного сложнее?
можете помочь со скриптом?
интересно, а анкоры вытащить намного сложнее?
можете помочь со скриптом?
# выбираем все ссылки со страницы
@links= $html =~ m/<A[^>]+?HREF\s*=\s*["']?([^'" >]+?)[ '"].*?>/sig;
@anchors= $html =~ m/<A[^>]+?HREF\s*=\s*["']?[^'" >]+?[ '"].*?>([^<]+)/sig;
# выводим полученные ссылки, каждая - с новой строки
foreach (@links) {
print $_ . "<br>";
}
foreach (@anchors) {
print $_ . "<br>";
}
типа того...
Вариантов для реализации очень много, можно и так:
# выбираем все ссылки с анкорами со страницы
while ($html =~ s/<A[^>]+?HREF\s*=\s*["']?([^'" >]+?)[ '"].*?>([^<]+)//si) {
push @Ahtml, $2.": ".$1
}
# выводим полученные анкоры и ссылки, каждую пару - с новой строки
foreach (@Ahtml) {print $_ . "<br>";}