The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Просвоение значений за один прогон"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Просвоение значений за один прогон"  +/
Сообщение от lamik (ok) on 19-Мрт-11, 08:28 
Как лучше сделать?
Надо скачать с помощью curl или wget страницу и не сохраняя на диск присвоить одной
переменной значение текста после одного слова до другого, а второй - значение из другой части текста не сохраняя на диск и не скачивая два раза.
Например:

</td><td>В 03:00 было -4.5°C, облачность 7-8 баллов, влажность 86%, ветер С, 2 м/с <a href='/archive.php?wmo_id=34003&lang
бла-бла-бла
<td colspan=2 class=d><img src="/img/cd4.gif" title="обл...

Надо: X="-4.5°C, облачность 7-8 баллов, влажность 86%, ветер С, 2 м/с", Y="cd4.gif".

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Просвоение значений за один прогон"  +/
Сообщение от phpcoder email(ok) on 19-Мрт-11, 10:51 
Если при скачивании страницы, результат выводится в stdout (у wget есть ключик -O -), то можно его сохранить в переменной.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Просвоение значений за один прогон"  +/
Сообщение от ACCA (ok) on 19-Мрт-11, 12:15 
> Как лучше сделать?
> Надо скачать с помощью curl или wget страницу и не сохраняя на
> диск присвоить одной
> переменной значение текста после одного слова до другого, а второй - значение
> из другой части текста не сохраняя на диск и не скачивая
> два раза.

можно действительно с помощью sh+wget+awk/sed, но геморройно:

array=( $(wget -O - .... | awk или sed ...) )

предполагается, что последовательность в $() выдаст два строковых значения в кавычках, потом () растащит их по элементам массива.

Но вообще-то для этого Perl придумали:

use LWP::Simple;

my $url = 'адрес откуда тащить';
my $page= get $url;
die 'Не получилось' unless defined $page;

my ($X, $Y);
$X = $1  if ($page =~ m#<td>\S+\s+\S+\s+\S+\s+(.+)<a href='/archive.php?wmo_id=34003#o);
$Y = $1  if ($page =~ m#<td colspan=2 class=d><img src="/img/([^"]+)" title="#o);

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру