Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразование относительных ссылок в абсолютные 
:(
    Опции темы
Firer
Дата 3.11.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 3.11.2008
Где: Донецк, Украина

Репутация: нет
Всего: нет



Нужен Ваш профессиональный совет и ответ smile :
Нужно преобразовать html страничку (на моей машине) таким образом, чтобы все относительные ссылки в ней стали абсолютными
Очень бы хотелось разобраться как получить универсальный скрипт, изменяя опр. строки в котором можно получить решение проблемы для разных страниц в разных папках (хотя бы по одному за раз)
Я нашел скрипт на перле, но как им пользоваться не в курсе.
Выкладываю его, буду надеяться, что вы мне поможете с этим

Цитата

use strict;
  use warnings;
  use LWP 5.64;
  my $browser = LWP::UserAgent->new;

  my $url = 'http://freshair.npr.org/dayFA.cfm?todayDate=current';
  my $response = $browser->get($url);
  die "Can't get $url -- ", $response->status_line
   unless $response->is_success;

  my $html = $response->content;
  while( $html =~ m/<A HREF=\"(.*?)\"/g ) {
      print "$1\n";
  }




PS
И думаю будет верхом наглости если я попрошу скриптик, который позволит разбить исходный текст страницы типа: 

текст1 <a href=url 1> </p> текст2 <a href=url 2> </p>  ... </p> текстn <a href=url n> </p>
текст(n+1)<a href=url (n+1)> </p> текст(n+2) <a href=url (n+2)> </p>  ... </p> текст(n+m) <a href=url (n+m)> </p>

Самое смешное, что текст идет одной строкой (хотя это очень схематичное отображение)


Сразу огромное спасибо всем, кто прочитает и ответит
PM MAIL   Вверх
unicross
Дата 3.11.2008, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: нет
Всего: 53



Код

use URI;
my $url = URI->new_abs(<Относительный адрес>, <Абсолютный адрес документа с ссылкой>);
my $url_abs = $url->as_string(); 


Извлечь из HTML-документа все ссылки позволяет модуль HTML::LinkExtor.

Это сообщение отредактировал(а) unicross - 3.11.2008, 15:50
PM MAIL WWW   Вверх
gcc
Дата 3.11.2008, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



после слова 'PS' я ничего не понял...
PM WWW ICQ Skype GTalk Jabber   Вверх
Firer
Дата 3.11.2008, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 3.11.2008
Где: Донецк, Украина

Репутация: нет
Всего: нет



Хорошо скрипт есть, как его использовать? Как его натравить на сохраненную страничку?
Нужно чтобы все осталось прежним только ссылки превратились в абсолютные


gcc, 
Цитата

И думаю будет верхом наглости если я попрошу скриптик, который позволит разбить исходный текст страницы типа: 
<body>
текст1 <a href=url 1> </p> текст2 <a href=url 2> </p>  ... </p> текстn <a href=url n> </p>
текст(n+1)<a href=url (n+1)> </p> текст(n+2) <a href=url (n+2)> </p>  ... </p> текст(n+m) <a href=url (n+m)> </p>
</body>


Так выглядит шаблон страницы в исходном коде html

Если несложно сделайте тоже такой скриптик, чтобы он как "структуризовал" страничку, а не делал ее одной строкой 
PM MAIL   Вверх
amg
Дата 5.11.2008, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(Firer @  3.11.2008,  17:09 Найти цитируемый пост)
Если несложно сделайте тоже такой скриптик, чтобы он как "структуризовал" страничку, а не делал ее одной строкой
Непонятны критерии "структуризованной" странички. Есть масса готовых решений привести html-код в читабельный вид. 

Но можно и по-простому, например, так:
Код

$html =~ s|(</p>)\s*|$1\n|g; # Каждая тэг </p> будет в конце строки


PM MAIL   Вверх
Firer
Дата 5.11.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 3.11.2008
Где: Донецк, Украина

Репутация: нет
Всего: нет



Огромное спасибо smile , но я лузер в перле.  smile Как натравить этот скрипт на страничку.
Если можно, то поподробнее

PM MAIL   Вверх
shamber
Дата 5.11.2008, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



Firer, начните с чтения документации. Жизнь наладиться smile
PM MAIL Jabber   Вверх
tolkien
Дата 5.11.2008, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 5.4.2008

Репутация: 4
Всего: 4



А вобще модерам пора сделать раздел специально для лузеров в перл. Пусть там флудят. Потому как нарпимер данная тема показывает что человек совершенно не знает перл и не хочет в нем разбираться. Ему только надо чтобы за него сделали.  
PM MAIL   Вверх
amg
Дата 5.11.2008, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(Firer @  5.11.2008,  12:09 Найти цитируемый пост)
Как натравить этот скрипт на страничку.
Простейший способ -- набрать в командной строке
perl -i -pe "s|(</p>)\s*|$1\n|g" file.html
file.html будет отредактирован
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0638 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.