Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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 |
удалено |