URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 5805
[ Назад ]

Исходное сообщение
"скрипт извлекующий урлы"

Отправлено snooper , 09-Июн-08 20:07 
подскажите, как сделать скрипт который бы извлек все урлы содержащиеся например на страничке: http://top100.rambler.ru/top100/Automotive/index.shtml.ru?


Содержание

Сообщения в этом обсуждении
"скрипт извлекующий урлы"
Отправлено Mil , 10-Июн-08 08:29 
>подскажите, как сделать скрипт который бы извлек все урлы содержащиеся например на
>страничке: http://top100.rambler.ru/top100/Automotive/index.shtml.ru?

Возможно множество решений.
Вот пример, от которого можно оттолкнуться и получить то, что вам надо.

wget -qO-  http://top100.rambler.ru/top100/Automotive/index.shtml.ru | perl -e 'print join("\n", join("", <>)=~m(http://[\w./]+)g)'

но учтите, что он вытаскивает именно *все* урлы (как вы и просили), включая картинки css-ки... при этом вытаскиваются только абсолютные урлы. в общем, не думаю, что это именно то, что вы хотите. чтобы вытащить урлы по другим признакам можно поправить регексп.


"скрипт извлекующий урлы"
Отправлено snooper , 12-Июн-08 17:05 
>wget -qO-  http://top100.rambler.ru/top100/Automotive/index.shtml.ru | perl -e 'print join("\n", join("", <>)=~m(http://[\w./]+)g)'

нашел ошибку, урлы в которых есть тире "post-card.ru" не извлекаются...


"скрипт извлекующий урлы"
Отправлено angra , 12-Июн-08 23:32 
Специально для вас цитирую:
>можно поправить регексп.

В данном случае добавляем символ "-" в класс допустимых символов: m(http://[\w./\-]+)g)'
Почитайте man perlre или Mastering Regular Expressions, знание регексов значительно облегчает жизнь админа.