| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > HTML::TableExtract получение значений ячеек |
| Автор: Зюзе 10.6.2009, 11:57 | ||
Добрый день. Накатал скрипт который получает из HTML странички таблицу:
застрял на том, как получить значения ячеек таблицы из этого $te Таблица в bid.htm простая, выглядит так: Bid Ask Last 100 400 700 200 500 800 300 600 900 подскажите как получить значения ячеек... |
| Автор: shamber 10.6.2009, 12:19 | ||
perldoc пробовали?
|
| Автор: Зюзе 10.6.2009, 16:14 | ||
| shamber, добавил что вы написали, теперь выводит: Global symbol "$ts" requires explicit package name at 2.pl line 24. Global symbol "$ts" requires explicit package name at 2.pl line 25. Global symbol "$row" requires explicit package name at 2.pl line 26. Global symbol "$ts" requires explicit package name at 2.pl line 26. Global symbol "$row" requires explicit package name at 2.pl line 27. требует, какое то имя пакета, как это поправить ? З.Ы. убрал use strict; после этого заработало, выводит
и все. Как можно проверить что он там насобирал ? З.З.Ы.Я с перлом 2 раз дело имею Не подскажете как в perldoc попасть ? |
| Автор: KSURi 10.6.2009, 18:30 |
Очевидно, командой perldoc. Или, не менее очевидно, через сайт http://perldoc.perl.org |
| Автор: shamber 10.6.2009, 21:07 |
Я подредактировал свой пост. там уже исправлено решеточку снимите |
| Автор: Зюзе 11.6.2009, 10:06 | ||
shamber, я наверно тупой
но где тут значения ячеек ? |
| Автор: shamber 11.6.2009, 10:37 |
| Хорошо, пойдем другим путем. Приложите ваш html файл. Будем думать |
| Автор: Зюзе 11.6.2009, 10:40 |
| что-то через форум не выкладывается, залил сюда http://dump.ru/file/2883028 |
| Автор: shamber 11.6.2009, 13:08 | ||||
У вас косяк в скрипте замените 12 линию на
И будет вам хорошо Как-то так
|
| Автор: Зюзе 11.6.2009, 13:24 |
| shamber, спасибо огромное, все заработало. Жалко плюсануть не могу постов не хватает :( |
| Автор: shamber 11.6.2009, 13:33 |
| Раз плюсануть не можете, то хоть галочку поставьте, что вопрос решен |
| Автор: Зюзе 11.6.2009, 13:43 |
| поставил |
| Автор: mario315 11.6.2009, 15:38 |
| А если столбцы записаны русскими буквами, то не работает. Как быть в этом случае? |
| Автор: shamber 11.6.2009, 15:54 |
| mario315, Encode? |
| Автор: mario315 11.6.2009, 18:26 | ||
Что-то не пойму как работает Страница в кодировке UTF-8
Ничего не получается. Если вместо Цены подставить Price, то все работает. Как бы сделать, что бы и с Ценой работало? |
| Автор: shamber 11.6.2009, 21:53 |
| А вообще где в вашем скрипте use utf8; недавно обсуждали по поводу Encode utf и прочее поищите. Почитайте Лучше использовать Encode::from_to("кодировка файла","utf",$var); Или http://forum.vingrad.ru/index.php?showtopic=256131&view=findpost&p=1848210 |
| Автор: mario315 12.6.2009, 14:36 |
| shamber, спасибо, глянул поиск. Тем и вправду предостаточно. |
| Автор: mario315 12.6.2009, 17:51 |
| Проблема была в редакторе. Даже не знаю в какой кодировке он сохранял. Заюзал другой - стало все нормально. |
| Автор: Зюзе 16.6.2009, 13:12 |
| mario315, получить значения ячеек можно так: my $t = $te->first_table_found; $t->cell(0,0); $t->cell(0,1); и т.д... |
| Автор: mario315 19.6.2009, 17:35 | ||||||
| Появилось два вопроса ПЕРВЫЙ Начинаю так
Что дальше делать не знаю. Если выводить на печать, ты выводит количество массивов, соответствующих количеству строк. А как просто получить количество строк? ВТОРОЙ Если в ячейки таблицы содержится html-код, как его получить? Попробовал сделать как http://search.cpan.org/~msisk/HTML-TableExtract-2.10/lib/HTML/TableExtract.pm, но из- за строки
как тут быть? |
| Автор: shamber 20.6.2009, 14:10 | ||
количество строк
|
| Автор: ginnie 22.6.2009, 13:04 | ||||
Может лучше
хотя самый лучший (по читаемости) вариант
|
| Автор: shamber 22.6.2009, 14:01 |
согласен. |
| Автор: Cyr 3.11.2015, 13:41 |
| удалено |