| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Слова на html страницы |
| Автор: player943 17.12.2006, 21:11 | ||
| Граждане, вот проблема, нужно просто найти число одинаковых слов на html содержимом страницы У меня программа почему то не считает одинаковые слова находящиеся в одной строке, помогите плз.
|
| Автор: nitr 17.12.2006, 21:49 |
| заюзай хеш $hash{слово_которое_повторяется}++; Добавлено @ 21:52 но код ужасен |
| Автор: player943 17.12.2006, 22:20 |
| вводиться 2 параметра: страница в интернете и слово 1)например если вводить : http://www.google.ru и слово google то находит только 2 раза, хотя их там 3 2) если попробовать: http://www.linuxjournal.com и слово embedded то все ок, 5 раз встречалось. file2 используется для просмотра содержимого Html страницы udp: поправил сообщение о getstore |
| Автор: nitr 17.12.2006, 22:54 | ||||
| разве? читаем perldoc LWP::Simple это сохранение содержимого по ссылке $url в файл $file т.е.
сохранит содержимое странички по ссылке Яндекса в файл output.html Добавлено @ 22:55
|
| Автор: player943 17.12.2006, 23:38 |
| с getstore я разобрался... а тогда в чем ошибка , почему не считает на строке,а только постолбцам? |
| Автор: nitr 17.12.2006, 23:52 | ||
| молодец, тогда скажи, необходимо ли учитывать html-теги? если нет, то способов очень много, один из простых, но не всегда эффективный способ:
|
| Автор: nitr 18.12.2006, 00:11 | ||||
ну а можешь так попробовать... если так нужен getstore ;)
можно так сделать (принцип один, но имхо быстрее ;), да и кода меньше):
|
| Автор: player943 18.12.2006, 09:14 |
| Спасибо большое, я разобрался |
| Автор: nitr 18.12.2006, 19:07 |
| player943, не за что. Надеюсь со всем разобрался? |
| Автор: player943 18.12.2006, 21:30 | ||||||
| Решил прикрутить 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 18.12.2006, 21:57 |
| player943, интересная задачка =)) Лаба что-ли? Или типа поисковика, статистика? |
| Автор: player943 18.12.2006, 22:06 |
| Да обычная лаба. Просто я мог бы скачать готовые скрипты с инету, но самому интереснее написать ctrl + f |
| Автор: player943 26.12.2006, 15:08 |
| Появилась еще проблема: надо расчитать кол-во однаковых слов на странице. То есть не задавая слово как параметр в предыдущей программе... |
| Автор: korob2001 26.12.2006, 17:04 | ||
Что-то в этом роде?
Только я его не тестировал, так что возможно где-то ошибся. |
| Автор: player943 28.12.2006, 10:09 |
| Программа рабочая, но я никак не пойму как мне сделать так чтобы выводились только кол-во слов, без учета знаков припинания "_ , . пробела и тд" |
| Автор: korob2001 28.12.2006, 10:32 | ||||||||
Для начала, нужно выяснить, что есть слово, в твоём понимании? После можно менять этот шаблон:
Например мы подразумеваем под словом, последовательность символов латинского алфавита. Допустим у нас есть строка:
Нам необходимо найти такие слова как "This", "is", "a", "simple", "test". Изменим шаблон на такой:
В итоге мы будем считать все последовательности символов из латинского алфавита. Если же слова состоящие из одного символа нам не нужны, то их можно тоже отсеять немного изменив предидущий шаблон.
Теперь символ "a" не будет принят за слово. Вобщем сначала нужно знать, что есть слово, в твоём случае. |
| Автор: korob2001 29.12.2006, 13:12 |
| Вероятность что-то пропустить (не учесть) гораздо больше, когда ты исключаешь то, что не нужно. Легче выделить именно то, что нужно. Хотя основное приимущество такого подхода состоит в том, что вероятность допустить ошибку снижается до нуля. Об этом помоему, можно почитать в книге "Разработка CGI приложений на Perl", где автор очень хорошо это объясняет. Правда там речь шла об очистке данных, полученных из сети. ЗЫ: Я точно не помню, в какой именно книге об этом написано, потому написал ПОМОЕМУ. Но если интересно, то могу уточнить это. |