![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| player943 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 22.11.2006 Где: Самара Репутация: нет Всего: нет |
Граждане, вот проблема, нужно просто найти число одинаковых слов на html содержимом страницы
У меня программа почему то не считает одинаковые слова находящиеся в одной строке, помогите плз.
Это сообщение отредактировал(а) player943 - 17.12.2006, 21:11 |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
заюзай хеш
$hash{слово_которое_повторяется}++; Добавлено @ 21:52 но код ужасен |
|||
|
||||
| player943 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 22.11.2006 Где: Самара Репутация: нет Всего: нет |
вводиться 2 параметра: страница в интернете и слово
1)например если вводить : http://www.google.ru и слово google то находит только 2 раза, хотя их там 3 2) если попробовать: http://www.linuxjournal.com и слово embedded то все ок, 5 раз встречалось. file2 используется для просмотра содержимого Html страницы udp: поправил сообщение о getstore Это сообщение отредактировал(а) player943 - 17.12.2006, 23:41 |
|||
|
||||
| nitr |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
разве?
читаем perldoc LWP::Simple это сохранение содержимого по ссылке $url в файл $file т.е.
сохранит содержимое странички по ссылке Яндекса в файл output.html Добавлено @ 22:55
|
||||
|
|||||
| player943 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 22.11.2006 Где: Самара Репутация: нет Всего: нет |
с getstore я разобрался...
а тогда в чем ошибка , почему не считает на строке,а только постолбцам? |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
молодец, тогда скажи, необходимо ли учитывать html-теги?
если нет, то способов очень много, один из простых, но не всегда эффективный способ:
|
|||
|
||||
| nitr |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
ну а можешь так попробовать... если так нужен getstore ;)
можно так сделать (принцип один, но имхо быстрее ;), да и кода меньше):
|
||||
|
|||||
| player943 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 22.11.2006 Где: Самара Репутация: нет Всего: нет |
Спасибо большое, я разобрался
|
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
player943, не за что.
Надеюсь со всем разобрался? |
|||
|
||||
| player943 |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 22.11.2006 Где: Самара Репутация: нет Всего: нет |
Решил прикрутить html + cgi
http://host/cgi-bin/form2.cgi
http://host/form2.html
и и и ничего не выводит если в form2.cgi изменить print $count; на print $word; то показывает искомое слово (если print $content; то показывает подержимое html странцы на искомой странице) Добавлено @ 21:37 Все и с этим разобрался form2.cgi
|
||||||
|
|||||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
player943, интересная задачка =))
Лаба что-ли? Или типа поисковика, статистика? |
|||
|
||||
| player943 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 22.11.2006 Где: Самара Репутация: нет Всего: нет |
Да обычная лаба.
Просто я мог бы скачать готовые скрипты с инету, но самому интереснее написать ctrl + f |
|||
|
||||
| player943 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 22.11.2006 Где: Самара Репутация: нет Всего: нет |
Появилась еще проблема: надо расчитать кол-во однаковых слов на странице.
То есть не задавая слово как параметр в предыдущей программе... |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Что-то в этом роде?
Только я его не тестировал, так что возможно где-то ошибся. Это сообщение отредактировал(а) korob2001 - 26.12.2006, 17:07 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| player943 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 22.11.2006 Где: Самара Репутация: нет Всего: нет |
Программа рабочая, но я никак не пойму как мне сделать так чтобы выводились только кол-во слов, без учета знаков припинания "_ , . пробела и тд"
|
|||
|
||||
| korob2001 |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Для начала, нужно выяснить, что есть слово, в твоём понимании? После можно менять этот шаблон:
Например мы подразумеваем под словом, последовательность символов латинского алфавита. Допустим у нас есть строка:
Нам необходимо найти такие слова как "This", "is", "a", "simple", "test". Изменим шаблон на такой:
В итоге мы будем считать все последовательности символов из латинского алфавита. Если же слова состоящие из одного символа нам не нужны, то их можно тоже отсеять немного изменив предидущий шаблон.
Теперь символ "a" не будет принят за слово. Вобщем сначала нужно знать, что есть слово, в твоём случае. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||||
|
|||||||||
| Zuzu |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.10.2006 Где: Екатеринбург Репутация: 3 Всего: 4 |
Я применял другой подход. Выяснил для себя, что "точно есть не слово", затем эти "не слова" заменил на "мой разделитель" и разобрал строку спомощью split. Что-то типа:
Получилось в несколько проходов, зато, ИМХО, более наглядно. --------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно. |
||||
|
|||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Вероятность что-то пропустить (не учесть) гораздо больше, когда ты исключаешь то, что не нужно. Легче выделить именно то, что нужно. Хотя основное приимущество такого подхода состоит в том, что вероятность допустить ошибку снижается до нуля. Об этом помоему, можно почитать в книге "Разработка CGI приложений на Perl", где автор очень хорошо это объясняет. Правда там речь шла об очистке данных, полученных из сети.
ЗЫ: Я точно не помню, в какой именно книге об этом написано, потому написал ПОМОЕМУ. Но если интересно, то могу уточнить это. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |