Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Голосование

Пригодился ли Вам скрипт?

ДА, спасибо!
НЕТ, не интересует.

Автор Тема: ПОИСК нужного текста в скачаной страничке [РЕШЕНО]  (Прочитано 2587 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: ПОИСК нужного текста в скачаной страничке
« Ответ #15 : 27 Января 2011, 11:09:04 »
а echo "$site$i" что выдает? (каждый раз)
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: ПОИСК нужного текста в скачаной страничке
« Ответ #16 : 27 Января 2011, 11:10:57 »
Можно использовать
- параметры скрипта для списка
- отдельный файл списка
- и.т.д.

Пользователь решил продолжить мысль 27 Января 2011, 11:42:39:
Можно использовать
- параметры скрипта для списка
- отдельный файл списка
- и.т.д.
« Последнее редактирование: 27 Января 2011, 11:42:39 от alexander.pronin »

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: ПОИСК нужного текста в скачаной страничке
« Ответ #17 : 27 Января 2011, 12:02:08 »
Я думаю идеально было бы отдельный файл для списка... Но как?

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: ПОИСК нужного текста в скачаной страничке
« Ответ #18 : 27 Января 2011, 12:08:23 »
#!/bin/sh
...
while read LINE
do
  print $LINE
...
done < /tmp/my.tmp

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: ПОИСК нужного текста в скачаной страничке
« Ответ #19 : 27 Января 2011, 12:26:38 »
а echo "$site$i" что выдает? (каждый раз)

root@dionis:/home/trek/AAA# ./sh.sh
cat: temp=: No such file or directory
cat: index1.html: No such file or directory
cat: index2.html: No such file or directory
cat: index3.html: No such file or directory
--2011-01-27 11:04:14--  http://www.site.com/temp=
Визначення імені www.site.com... aaa.bbb.ccc.ddd
З'єднуюсь з www.site.com|aaa.bbb.ccc.ddd|:80... під'єднано.
HTTP-запит надіслано, очікую відповіді... 404 Not Found
2011-01-27 11:04:14 ПОМИЛКА 404: Not Found.

./sh.sh: line 19: index1.html: команду не знайдено


(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 28 Января 2011, 01:55:31:
Что-то не получается у меня... весь день голову ломал что не так... не смог найти ошибку !((((

Пользователь решил продолжить мысль 28 Января 2011, 02:09:26:






(Нажмите, чтобы показать/скрыть)


В my.tmp три строки:
index1.html (в котором имеется строка HELLO_WORLD)
index2.html (в котором имеется строка HELLO_WORLD)
index3.html (в котором нету HELLO_WORLD!)

Но цикл по очереди скачивает каждую страничку, и выводит в консоль The word $word was FOUND, хотя при проверки третей страничке должен был вывести : --- The Word $word NOT FOUND in $name! --- "

И где грабли? :'(
« Последнее редактирование: 28 Января 2011, 02:32:05 от TrEK »

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: ПОИСК нужного текста в скачаной страничке
« Ответ #20 : 28 Января 2011, 02:20:27 »
if [ -n "$text" ] ???
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: ПОИСК нужного текста в скачаной страничке
« Ответ #21 : 28 Января 2011, 02:23:25 »
if [ -n "$text" ] ???

Все равно три ответа YES :(

Пользователь решил продолжить мысль 28 Января 2011, 02:30:09:




Ладно пока без файла с ссылками...
Возвращаюсь к первоначальному виду:





Пользователь решил продолжить мысль 28 Января 2011, 02:33:14:
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 28 Января 2011, 02:40:07 от TrEK »

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: ПОИСК нужного текста в скачаной страничке
« Ответ #22 : 28 Января 2011, 02:37:20 »
Решено/не решено  ???
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: ПОИСК нужного текста в скачаной страничке
« Ответ #23 : 28 Января 2011, 02:42:01 »
Скрипт выше привел в человеко-подобный вид...


И этот скрипт теперь мне при проверке всех трех индексов выдает : "HELLO_WORLD not FOUND" :(
Хотя HELLO_WORLD нету только в третем файле.

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: ПОИСК нужного текста в скачаной страничке
« Ответ #24 : 28 Января 2011, 02:45:25 »
Я не пойму, оно ищет сначала текст, а потом уже качает страницу =/

text=`cat $i | grep $word`
if eval "wget $site$i"; then
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: ПОИСК нужного текста в скачаной страничке
« Ответ #25 : 28 Января 2011, 03:06:17 »
Я бы сделал примерно так:
URLS="https://help.ubuntu.ru/wiki
https://help.ubuntu.ru/manual
https://help.ubuntu.ru/fullcircle"

PATTERN="full circle\|введение"

for URL in $URLS
do
    wget -qO- "$URL" \
    | grep -qi "$PATTERN" \
    && ( echo "Match found: $URL" )
done

ps
Скобки с echo можно заменить процедурой или последовательностью команд.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: ПОИСК нужного текста в скачаной страничке
« Ответ #26 : 28 Января 2011, 12:14:51 »
Я не пойму, оно ищет сначала текст, а потом уже качает страницу =/

text=`cat $i | grep $word`
if eval "wget $site$i"; then

Мда.. теперь я понял .. Спасибо )) А то я думал , что ничего страшного что оно перед началом цикла пишет что мол, нет такого файла, откуда брать инфу.. нету его !:) А тут и проблема из-за этого была. )
Все сделал чтоб ссылку скрипт брал из файлика...

Подскажите , а как можно
       echo "---------------------------------";
       echo "------------   START   YES  -----";
       echo "---------------------------------";
       echo "";
       echo "";
загнать в одну переменную в начале скрипта..... :idiot2:

Оффлайн jura12

  • Старожил
  • *
  • Сообщений: 1472
  • 24.04 lubuntu
    • Просмотр профиля
Re: ПОИСК нужного текста в скачаной страничке
« Ответ #27 : 28 Января 2011, 14:43:10 »
я кстати столклулся с похожей задачей - поиск фразы по скаченному сайту. правильная команда grep это find . -name '*.html' -print0 | xargs -0r grep -RHn 'разноцветным дымом' есть другой вариант, но он более медленный find . -name '*.html' -print |while read i; do grep -RHn 'разноцветным дымом' "$i"; doneесть замечания:
1.кодировка сайта должна быть utf-8 иначе надо страницу конвертировать в utf-8 или работать в терминале с другой кодировкой, например windows-1251 .
2.поиск идет только по строкам. следовательно если двухстрочная фраза перенесена на другую строку она не найдется. выход это использование модификатора в регулярном выражении - m (PCRE_MULTILINE).
3.если часть двухсложной фразы выделена или оформлена в хтмл теги то она не найдется. надо перед поиском удалять все теги (типа этого(<.*?>)), все ява скрипты и все комментарии.

в общем в результате я пришел к выводу что надо использовать для фильтрации библиотеку PCRE. поскольку perl я не знаю то программу надо писать на php. на php можно для открытия файла использовать функцию fgetss() которая удаляет html теги.
« Последнее редактирование: 28 Января 2011, 16:14:27 от jura12 »
сопротивление бесполезно

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: ПОИСК нужного текста в скачаной страничке
« Ответ #28 : 28 Января 2011, 19:41:15 »
jura12, ну мне как "программисту"-любителю более понятен shell , хотя в пшп приходится что-то ковырять так-же часто.
Но все же.. шелл более подобный на борланд-паскаль.)

Пользователь решил продолжить мысль 29 Января 2011, 00:36:51:
Так как же мне загнать вывод множества echo в одну переменную?... ???

Пользователь решил продолжить мысль 29 Января 2011, 02:50:50:
http://citforum.ru/programming/shell/gl4.shtml

Пользователь решил продолжить мысль 29 Января 2011, 05:59:27:


И тааааак... долгие ковыряния.. и тестирование и допередописывание кода почти до утра :) дало долгожданный работоспособный скрипт ,Виват Виват :

Финальная бета-версия скрипта "поиск текста в скачаной страничке" v1.0 ® :D :P
Так сказать, принципиально новая © версия скрипта :)


#cat script.tmp
index1.html
index2.html
index3.html

(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 29 Января 2011, 06:19:19:


Спасибо всем кто дал советы и помог.
п.с. Если надо - https://forum.ubuntu.ru/index.php?topic=97625.75
« Последнее редактирование: 29 Января 2011, 06:19:19 от TrEK »

 

Страница сгенерирована за 0.024 секунд. Запросов: 25.