Получение с сайта www.yandex.ru текущего курса доллара

aksirob1

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

spiritmc

Если не будешь спешить, напишу.
---
...Я работаю антинаучным аферистом...

aksirob1

а сколько тебе нужно времени?
мне программа нужна просто очень срочно до вторника

spiritmc

Если до вторника и с какими-то дополнительными требованиями,
тогда за некоторое вознаграждение. Ибо мне лично это некспеху.
Может быть и сегодня к ночи сделаю, если желание будет.
---
...Я работаю антинаучным аферистом...

spiritmc


ftp -o - http://www.yandex.ru/s/1.html 2>/dev/null |
awk '/^$/{sect++}; /^<td>[[:digit:],]+<\/td>$/ && sect==2' |
sed 's|</\{0,1\}td>||g'

---
"NetBSD is JIHBED!"

andy_null

по-моему РБК подобные данные в xml раздает.
Не уверен, что РБК, но кто-то точно

spiritmc


ftp -o - http://www.yandex.ru/s/1.html 2>/dev/null |
awk '/^$/{sect++}; /^<td>[0-9,]+<\/td>$/ && sect==2' |
sed -E 's|</?td>||g'

---
"...Видный ретроград-новатор."

ness73

Ну ещё для погнутых можно 'ftp -o -' заменить на какое-нибудь 'wget -O -'.

spiritmc

Погнутое идёт лесом.

ftp -o - http://www.yandex.ru/s/1.html |
awk -F '[<>]' '/^$/{sect++} /^<td>[0-9,]+<\/td>$/ && sect==2 {print $3}'

---
"NetBSD is JIHBED!"

spiritmc


ftp -o - http://www.yandex.ru/s/1.html |
awk -F '[<>]' '/^<td>[0-9,]+<\/td>$/ && !n++ {print $3}'

---
"You've got TECO. What more do you want?"

spiritmc

Вот так вот, Леночка, правильное средство --- решает.
А ты говоришь "C++", да ещё и "Builder".
Можешь показать это тому идиоту, кто задачу ставил.
Ни один вменяемый человек на сях такое писать не будет.
---
"NetBSD is JIHBED!"

korpa

она же не говорила про C++? или это в привате?

Evgewkin


wget -q -O - yandex.ru/s/1.html | awk -v RS='[<>]' 'NR==147'

spiritmc

Вот тебе не лень было это вычислить.
---
"Лень --- движитель прогресса."

spiritmc

К тому же, оно ещё и работает только под погнутым awk.
---
"Аллах не ведёт людей неверных."

ness73

только под погнутым awk
Ах, как жаль...

Arthur8

[arhimed work]# ftp -o - http://www.yandex.ru/s/1.html 2>/dev/null |
> awk '/^$/{sect++}; /^<td>[[],]+<\/td>$/ && sect==2' |
> sed 's|</\{0,1\}td>||g'
[arhimed work]# ftp -o - http://www.yandex.ru/s/1.html 2>/dev/null |
> awk '/^$/{sect++}; /^<td>[0-9,]+<\/td>$/ && sect==2' |
> sed -E 's|</?td>||g'
sed: invalid option — E
Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...
-n, --quiet, --silent
suppress automatic printing of pattern space
-e script, --expression=script
add the script to the commands to be executed
-f script-file, --file=script-file
add the contents of script-file to the commands to be executed
--help display this help and exit
-V, --version output version information and exit
If no -e, --expression, -f, or --file option is given, then the first
non-option argument is taken as the sed script to interpret. All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.
E-mail bug reports to: bug-gnu-gnu.org .
Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.
[arhimed work]# ftp -o - http://www.yandex.ru/s/1.html |awk -F '[<>]' '/^$/{sect++} /^<td>[0-9,]+<\/td>$/ && sect==2 {print $3}'
ftp: o: unknown option
Usage: ftp [-v] [-d] [-i] [-n] [-g] [-k realm] [-f] [-x] [-u] [-t] [host]
[arhimed work]# ftp -o - http://www.yandex.ru/s/1.html |awk -F '[<>]' '/^<td>[0-9,]+<\/td>$/ && !n++ {print $3}'
ftp: o: unknown option
Usage: ftp [-v] [-d] [-i] [-n] [-g] [-k realm] [-f] [-x] [-u] [-t] [host]
[arhimed work]# wget -q -O - yandex.ru/s/1.html | awk -v RS='[<>]' 'NR==147'
25,8594
[arhimed work]#

ness73

Ты тоже из тех людей, которые всякую муть со скобочками и палочками пытаются в первую очередь под рутом запустить, или просто такое приглашение нравится?

spiritmc

Если учесть сомнительное качество погнутого ftp, это очень даже.
---
A9: ОС - это БЗДя

Evgewkin

Вот тебе не лень было это вычислить.

wget -q -O - yandex.ru/s/1.html | awk -v RS='[<>]' '{print NR, $0}' | grep "25,7"

Evgewkin

К тому же, оно ещё и работает только под погнутым awk.
Факт. RS не может быть regexp'ом.
Можно поправить так, наверное,

cd /usr/pkgsrc/lang/gawk && sudo make install clean

Arthur8

да лень было... а че оно делает и так ясно

spiritmc

> Можно поправить так, наверное,
> cd /usr/pkgsrc/lang/gawk && sudo make install clean
sudo ты, видимо, тоже доставишь из пакета, что потребует прав,
да ещё и настроишь этим же скриптом.
Постепенно скрипт распухнет и превратится в гзипаную тару,
тянущую с собой исходники гавка и вгета, устанавливающий
их скрипт и напоследок --- решение задачи. И всё из-за того,
что линукс не ОС, а всего лишь ядро.
---
A9: ОС - это БЗДя

incwizitor

ваше решение, основанное на грепании 1.html перестанет работать через пару месяцев
разметка на яндексе не постоянна.
лучше всего на основе xml все сделать.

ness73

А ещё веб-сервисы поработят мир!

spiritmc

> ваше решение, основанное на грепании 1.html
> перестанет работать через пару месяцев
Это ещё увидим.
> разметка на яндексе не постоянна.
> лучше всего на основе xml все сделать.
Ну и написал бы, в чём дело-то? Где твой код?
Решение на основе AWK настолько дёшево,
что его можно будет переписать, если разметка
всё-таки поменяется.
---
"Аллах не ведёт людей неверных."

Evgewkin

sudo ты, видимо, тоже доставишь из пакета, что потребует прав,
да ещё и настроишь этим же скриптом.
Постепенно скрипт распухнет и превратится в гзипаную тару,
тянущую с собой исходники гавка и вгета, устанавливающий
их скрипт и напоследок --- решение задачи. И всё из-за того,
что линукс не ОС, а всего лишь ядро.

И причем тут "линукс"? Мне нравится gawk реализация awk. Я накосячил, конечно, и забыл уже какие у gawk'а расширения, а так

awk -v RS='[<>]' 'NR==147'

всего на один знак короче

sed -n '59{s/[<td>/]//g;p}'

spiritmc

> sed -n '59{s/[<td>/]//g;p}'
Лично мне не очень нравится привязка к номеру строки,
поэтому я и не вводил её в исходный скрипт.
Представление строки более устойчиво, чем расстояние до неё.
То же относится и к использованию разделителя записей,
хотя да, такое решение имеет право на существование.
---
"Пусть цветут сотни цветов, пусть соперничают тысячи школ
разных мировоззрений."
Мао Цзедун
Оставить комментарий
Имя или ник:
Комментарий: