powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Парсер на perl
23 сообщений из 23, страница 1 из 1
Парсер на perl
    #37732244
3031986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Задача такая - вытащить все ссылки с html страницы. Может кто то подскажет код на Perl, можно просто через регулярку.
Заранее спасибо.
...
Рейтинг: 0 / 0
Парсер на perl
    #37732249
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3031986,

Линксом вытаскивайте с ключиком -list. Нафиг с регулярками заморачиваться?
...
Рейтинг: 0 / 0
Парсер на perl
    #37732254
3031986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge3031986,

Линксом вытаскивайте с ключиком -list. Нафиг с регулярками заморачиваться?
А можно подробней?
...
Рейтинг: 0 / 0
Парсер на perl
    #37732403
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3031986,

Это просто текстовый браузер. Из-под командной строки запускаете и получаете уже распарсеный текст страницы себе в перловую переменную. Ключик, что я сказал, выдаст список ссылок. Это как вариант. Я не говорю, что это - самое правильное решение. Предполагаю, что регуляркой можно сделать проще и лучше (но это - не интересно). Сам механизм может пригодится для всяких разных штучек. Скачайте и посмотрите. Ищите в гугле lynx. Он и под юниксом и подвендой имеется.
ПС. Я одно время тырил им данные с чужих страниц (как раз на перле, но очень давно), типа lynx -dump -nolist >abc.txt. А Вам как раз list нужен.
...
Рейтинг: 0 / 0
Парсер на perl
    #37732410
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПС. Скачивать его только для венды нужно. В линухе он и так имеется (lynx, иногда linx).
...
Рейтинг: 0 / 0
Парсер на perl
    #37732861
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge3031986,

Это просто текстовый браузер. Из-под командной строки запускаете и получаете уже распарсеный текст страницы себе в перловую переменную. Ключик, что я сказал, выдаст список ссылок. Это как вариант. Я не говорю, что это - самое правильное решение. Предполагаю, что регуляркой можно сделать проще и лучше (но это - не интересно). Сам механизм может пригодится для всяких разных штучек. Скачайте и посмотрите. Ищите в гугле lynx. Он и под юниксом и подвендой имеется.
ПС. Я одно время тырил им данные с чужих страниц (как раз на перле, но очень давно), типа lynx -dump -nolist >abc.txt. А Вам как раз list нужен.
однако, одно из лучших для данных конкретных условий. регулярки не предназначены для парсинга html.
...
Рейтинг: 0 / 0
Парсер на perl
    #37733372
Фотография yarnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как по мне, куда проще парсить самому
Код: perl
1.
@arr = $page =~ /]+?HREF\s*=\s*["']?([^'" >]+?)[ '">].*?>/ig;
...
Рейтинг: 0 / 0
Парсер на perl
    #37733398
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yarnikкак по мне, куда проще парсить самому
Код: perl
1.
@arr = $page =~ /]+?HREF\s*=\s*["']?([^'" >]+?)[ '">].*?>/ig;

А ещё сотню примеров можно написать, когда Ваш паттерн не соответствует.
...
Рейтинг: 0 / 0
Парсер на perl
    #37733509
Фотография yarnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте
...
Рейтинг: 0 / 0
Парсер на perl
    #37733554
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yarnik, а что тут пробовать, ты вообще нерабочий код выдаешь
запусти :
Код: sql
1.
2.
3.
$page='<a href="ololo"> aaa </a>';
@arr = $page =~ /]+?HREF\s*=\s*["']?([^'" >]+?)[ '">].*?>/ig;
print @arr;
...
Рейтинг: 0 / 0
Парсер на perl
    #37733660
Фотография yarnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
извиняюсь
Код: sql
1.
2.
3.
$page='<a href="ololo"> aaa </a>';
@arr = $page =~ /<A[^>]+?HREF\s*=\s*["']?([^'" >]+?)[ '">].*?>/ig;
print @arr;
...
Рейтинг: 0 / 0
Парсер на perl
    #37733671
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yarnik, держи, первая же страница в гугле
Код: sql
1.
2.
3.
$page='<select name="url>adee" value="wq<ew">';
@arr = $page =~ /<A[^>]+?HREF\s*=\s*["']?([^'" >]+?)[ '">].*?>/ig;
print @arr;


и такого очень много. регулярные выражения тоже имеют свои минусы.
...
Рейтинг: 0 / 0
Парсер на perl
    #37733740
Фотография yarnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так це ж не по феншую.
...
Рейтинг: 0 / 0
Парсер на perl
    #37733761
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yarnik, Ниче не знаю - код html валидацию на сайте w3c.org проходит, а ссылку извлекает неправильно
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
$page='
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head>
<title>Title of the document</title>
</head>

<body>
<a href="123.com>23">aaa</a>
</body>

</html> 
';
@arr = $page =~ /<A[^>]+?HREF\s*=\s*["']?([^'" >]+?)[ '">].*?>/ig;
print @arr;
...
Рейтинг: 0 / 0
Парсер на perl
    #37733770
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот из книжачки еще полностью валидного и даже похожего на осмысленный, кода
Код: sql
1.
2.
3.
4.
5.
<IMG SRC = "foo.gif" ALT = "A > B">
<!-- <A comment> -->
<script>if (a<b && a>c)</script>
<# Just data #>
<![INCLUDE CDATA [ >>>>>>>>>>>> ]]>


попарси, давай.
...
Рейтинг: 0 / 0
Парсер на perl
    #37733800
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindyarnik, держи, первая же страница в гугле
Код: sql
1.
2.
3.
$page='<select name="url>adee" value="wq<ew">';
@arr = $page =~ /<A[^>]+?HREF\s*=\s*["']?([^'" >]+?)[ '">].*?>/ig;
print @arr;



и такого очень много. регулярные выражения тоже имеют свои минусы.

Объясните мне, че тут происходит?)
...
Рейтинг: 0 / 0
Парсер на perl
    #37733857
Фотография yarnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я предложил вариант парсинга линков со страницы,
а netwind пытается меня убедить что лучше не пользоватся регулярками.
хотя я больше склонен к тому что надо правильно писать линки;)
...
Рейтинг: 0 / 0
Парсер на perl
    #37733879
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yarnik, кому надо? невозможно всех заставить правильно писать линки
...
Рейтинг: 0 / 0
Парсер на perl
    #37734163
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, подумалось, что закомментаренные ссылки тоже будут попадать.
...
Рейтинг: 0 / 0
Парсер на perl
    #37734210
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
коллеги, а чем не
http://cpan.uwinnipeg.ca/htdocs/HTML-DOM/HTML/DOM.html
- ну и SAX где-то рядом....
...
Рейтинг: 0 / 0
Парсер на perl
    #37734222
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и вот
http://www.foo.be/docs/tpj/issues/vol5_1/tpj0501-0003.html
Parsing HTML with HTML::PARSER
...
Рейтинг: 0 / 0
Парсер на perl
    #37735273
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakov, без ошибок, но тупо.
...
Рейтинг: 0 / 0
Парсер на perl
    #37735284
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Парсер на perl
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]