Ru-Board.club
← Вернуться в раздел «Программы»

» WebSite-Watcher

Автор: vahhabit
Дата сообщения: 15.07.2013 14:53
tungus1973 спасибо - плагин не нужен. Все настолько просто, что даже смешно как сразу не додумался. Тупо в ручном фильтре дописываем в раздел игнорировать - regex(\d+) и все. все цифры во вновь возникающем тексте игнорятся.
Автор: tungus1973
Дата сообщения: 15.07.2013 15:07
Изящное решение
Вообще, regex - довольно мутная тема. Многие программисты в них путаются. Но, говорят, что ежели в них разобраться, то можно творить чудеса с текстовыми преобразованиями.
Автор: vahhabit
Дата сообщения: 15.07.2013 15:20

Цитата:
Изящное решение

Ну не совсем изящное) Просто теперь нельзя по цифре идентифицировать текст, потому что первым игнором он режет все цифры на странице и текст становится без них вообще. И если, например, на странице с сериалом я ставил ручной фильтр от начала страницы до последней серии, то из-за фильтрации всех цифр эту последнюю серию никак идентифицировать (цифр то нет). Ну я решу это скорее всего поиском внутри тега. А там уже количество текста будет сверяться. В общем имейте ввиду. Если у вас идентификация по цифре идет, то нужно думать еще

Но это решение подошло для руборда например Чтобы не показывала обновление в момент, когда пользователь +1 сообщение напишет.
Автор: kinomy
Дата сообщения: 18.07.2013 17:00
WebSite-Watcher 2013 13.1
[more=Version History]Version 2013 (13.1) - 18-Jul-2013
[+] Internet Explorer Macros / new option when recording new macros: Disable optimizations. You can try that option if an Internet Explorer Macro cannot be executed correctly (certain pages could not be monitored with the internal optimizations which are enabled by default).
[+] Plugins / new function: DownloadPageToString
[+] Plugins / Built in function Bookmark_GetProperty has a new parameter "check_log" to get the log file of the current check
[+] XML files are now automatically handled as TEXT files
[x] Improved handling of external CSS files
[x] Improved keywords detection
[x] If the configured AutoBackup folder doesn't exist, WebSite-Watcher will no longer fall back to the default AutoBackup folder. An error message will be displayed instead.
[x] Performance boost: Certain bookmarks could take a very long time to open in the internal browser
[x] Improved extraction of RSS feed titles
[x] Improved detection and handling if the # character is an anchor or part of the URL
[-] Some pages could be displayed without CSS (although the CSS files were available).
[-] Follow-Links: WSW could "assimilate" bookmarks with the same domain as the master bookmark when they were stored in the same folder
Many smaller fixes and improvements[/more]
Автор: darken665
Дата сообщения: 22.07.2013 11:43
Очень нужна ваша помощь!

Есть множество вкладок с потенциально одинаковыми изиенениями, как сделать что б после первого измения одной из вкладок, все псоледующие изменения такого же типа во всех остальных вкладках игнорировались?

спасибо за помощь.
Автор: vahhabit
Дата сообщения: 22.07.2013 12:01
darken665 - лично для меня из твоего сообщения ничего не понятно. что за вкладки, что за потенциальные изменения. Если ты точнее и на конкретных примерах сформулируешь вопрос, то уверен, тебе вероятнее всего ответят. Потому что при неясной проблеме даже при сильном желании не поможешь...
Автор: darken665
Дата сообщения: 22.07.2013 16:08
ok, есть набор ссылок с различных сайтов объявлений,которые я мониторю, зачастую одно и то же объявление появляется сразу в нескольких местах, а я бы хотел видеть его всего единожды.
Автор: vahhabit
Дата сообщения: 22.07.2013 17:35
darken665
Жесть. Получается тебе нужно отследить обновление на сайте и затем сверить его с обновлениями на сайтах из одной группы и игнорить совпадающие на разных сайтах части. Ты пытался обдумать как это будет?
Я вижу только один теоретический вариант развития. В WebSite Watcher можно экспортировать страницы при нахождении изменений. Нужно как-то взять эти изменения из экспортированной страницы и засунуть как правила-исключения внутрь группы отслеживаемых страниц. Это уже скорее плагин свой писать нужно. Может кто проще схему видит?
Автор: PREVED
Дата сообщения: 22.07.2013 21:32
На сайте с объявлениями появляются новые вещи с ценами вида "x xxx руб."

Я хотел создать отслеживание появления цен наподобие "1 xxx руб."

Подскажите пожалуйста, как это отмониторить? Перепробовал различные комбинации regexp (добавлял в ключевые слова для мониторинга) - сабж игнорирует, не находит эти ключевики и не подсвечивает их. Последнее что пробовал:

Код: 1*....*руб.
Автор: vahhabit
Дата сообщения: 23.07.2013 07:13
PREVED
Я только начал осваивать регулярные выражения и интерес попрактиковаться есть,
попробуй вот так -
regex(\d{0,3}\s\d{3,3}\sруб\.)

Должно найти ценники от (xxx руб.) до (xxx xxx руб.)

А вообще рекомендую по ссылке Короткое чтиво про структуру регулярок . Написано достаточно простым языком, что редкость из тех что нашел по регуляркам. Прочитав статью я понял примерно синтаксис написания. До этого вообще ноль был. Наш случай это регулярные совместимые с Perl, там еще и POSIX регулярные описываются - шаблон написания один с некоторыми отличиями, поэтому лучше там все до раздела функций прочитать.
Для проверки и построения регулярки можно юзать RegexBuddy, только там нужно вбивать регулярку без Regex, иначе не пашет. т.е. для проверки в RegexBuddy будет работать твоя строка в таком виде - \d{0,3}\s\d{3,3}\sруб\. или (\d{0,3}\s\d{3,3}\sруб\.)

Кстати насчет альтернативы, ты пробовал использовать wildcards в ручном фильтре? т.е. тупо найди начальное сочетание слов(или просто слово) с которых тебе мониторить и конечное слово или сочетание, разделяя это все в ручном фильтре символом "*". например с ру.боард можно взять содержимое данной ветки от фразы "Страницы:" до нижнего "Страницы:". в Website Watcher вбить в ручной фильтр отслеживаемые(вбивать без кавычек) - "Страницы:*Страницы:" т.е. мы ему говорим - отслеживай содержимое на изменения начиная с - "Страницы:" до "Страницы:" и все. Он будет реагировать на любое изменение внутри указанного диапазона на странице темы. Если не нужны цифры(допустим нам не нужно видеть, что кто-то из темы написал+1 сообщение где-то вне нашей темы на рубоард), то можно дописать в ручном фильтре в игнор Regex(\d+) и цифры все будут вырезаться и изменения будут мониторится без цифр. Ну или если все цифры вырезать не нужно и это слишком грубо, то можно вбить в игнор именно игнор сообщений пользователя в таком виде - regex(Всего записей:\s\d+)
Автор: PREVED
Дата сообщения: 29.07.2013 21:02
vahhabit

Цитата:
Я только начал осваивать регулярные выражения и интерес попрактиковаться есть,
попробуй вот так -
regex(\d{0,3}\s\d{3,3}\sруб\.)

Должно найти ценники от (xxx руб.) до (xxx xxx руб.)


Да, спасибо за подробный ответ.

По аналогии попробовал написать выражение для поиска цен в диапозоне 1000 - 3999
Получилось: Regex([1-3]\s\d{3,3}\sруб\.)

Проверил это в "фильтрах" (добавил выражение в ручной фильтр и запустил "тест выбранной строки") - нужные цены нашлись и разложились по строкам. Т.е. выражение рабочее.

Добавил выражение в "ключевые слова" (отслеживание + подсветка). Фильтры оставил пустыми.
Запускаю проверку - ничего не находит и не подсвечивает . Пробовал удалять локальные файлы и перезапускать проверку - не помогло Добавлял в фильтры (Фильтр Отслеживаемые) - не помогло, появилась желтая подсветка, но нужные цены не подсвечивает, а вместо них выделяет некоторые слова и цены, явно превышающие заданные рамки.

Про наводку на RegexBuddy и материалы по regexp отдельное спасибо. Я правда RegexMagic поставил пока, разбираюсь. Наваял в этой проге выражение regex(\bпроживани.\b) (ищет отдельное слово, у которого может быть любая буква в окончании). Не заработало (проверял в фильтрах, в тестировании выбранной строки). Понимаю, можно и альтернативными способами это слово в WSW искать, просто выражение все равно не работает, хотя вроде правильно составил (делал по справке RegexMagic).


Про альтернативный способ я вычитал в справке. Тоже может пригодиться.

Автор: vahhabit
Дата сообщения: 30.07.2013 08:09
PREVED
Напиши сайт интересно стало. И еще зайди в свойства закладки, выбери дополнительно, затем Подсветка изменений. Там нужно отметить галку - Фильтр Отслеживаемые: Подсветка только соотв. результатов и выбрать метод подсветки - точный(там же можно поставить, чтобы показывало удаленные слова, но он везде удаленное показывает, а не только там где фильтр сработал).
Думаю это оно самое. Там еще и цвет подсветки можно выбрать, если желтый не нравится...

А фильтр не стоит убирать. Где подсветка ключевых слов - это тупо подсветка на странице и все. Он подсветит вообще все соответствующие регулярке выражения и все. Ему пофиг новые это или нет. Я так понял вторая часть - оповещать только при наличии слов. Это когда произойдет изменение в соответсвии с фильтром - доп. условие - наличие определенных слов, которые мы указываем в ключевых словах.
Автор: guakamole
Дата сообщения: 31.07.2013 16:52
Отслеживаю изменения в интересующих топиках данного форума при выбранной опции Options>Advanced>Merge Pages. Пока стояла версия 13.0 всё было нормально, но после обновления до 13.1 началась форменная чехарда: дублирование страниц с выделенными изменениями, появление во встроенном браузере каких-то древних страниц топика и т.д. Кто-нибудь ещё подвержен этому безобразию?
Автор: tungus1973
Дата сообщения: 31.07.2013 17:03
Было тоже самое для Ru-Board.
Исправил так: отменил слияние страниц, вышел из менеджера свойств закладки. Затем снова открыл его, указал стартовую ссылку, после чего заново подключил слияние страниц. Сейчас всё работает.
С чем была связана ошибка точно не знаю.
Автор: guakamole
Дата сообщения: 31.07.2013 17:43

Цитата:
Затем снова

Тоже пробовал подобные манипуляции, увы, не прокатило, пришлось откатиться обратно на версию 13.0.
Автор: tungus1973
Дата сообщения: 31.07.2013 18:56
К сожалению, Мартин Аигнесбергер не позволил перевести на русский язык некоторые модули программы, в том числе и функционал слияния страниц. Первое время использование этой возможности вызывала у меня затруднения. Поэтому для незнакомых с английским языком и для начинающих опишу, как работает функция слияния страниц.

Для объединения страниц WSW просит выбрать тип разделения на странички. Их всего два:
1) Новые странички в начале списка (например, как в результатах поиска у Яндекса).
2) Новые странички в конце списка (как это обычно сделано на форумах типа Ru-Board).

Затем открывается специальное окно-браузер и WSW просит указать ссылку на следующую страничку. После нажатия на ссылку, WSW получает её URL, который раскладывает на параметры. Например, для странички форума, на которой мы сейчас общаемся (http://forum.ru-board.com/topic.cgi?forum=5&topic=2071&start=1060) параметры будут такими:

forum=5
topic=2071
start=1060

Сначала нужно щёлкнуть на параметре, который определяет номер стартового топика следующей страницы: start=1060
WSW сравнит значение этого параметра в текущей ссылке и его же в ссылке на следующую страницу и определит, на сколько этот параметр нужно будет увеличить в следующий раз.

Затем WSW покажет оставшиеся параметры:

forum=5
topic=2071

Тут WSW пишет, что хотя это и не обязательно, но нужно бы выбрать второй идентификатор, который будет помогать отличать ссылки этой темы от ссылок на другие темы. Некоторые форумы и поисковики хорошо работают и без выбора второго параметра, в других случаях без второго параметра будут ошибки.
Рекомендую указывать этот второй параметр. С ним WSW работает точнее. В нашем случае лучше выбрать topic=2071, а не forum=5, т.к. параметр topic= точно указывает, что мониторить нужно именно эту ветку, а не другие ветки подфорума (forum=5).
Автор: vahhabit
Дата сообщения: 31.07.2013 19:54

Цитата:
Кто-нибудь ещё подвержен этому безобразию?

Подтверждаю! Некоторые страницы раза 4 продублировал при слиянии. Делал как раз как указал tungus1973.
Надеюсь в след.сборке уберут.
guakamole а ты фильтры какие прописывал на этом форуме? У меня на все ветки одинаковые настройки.

Кому интересно для отслеживания на ру.борд в ручном фильтре вбил:
Отслеживаемые:
regex(Страницы:.*Страницы:)
Игнорирумые:
regex(Всего записей:\s\d+\s\|\s(\pL+)\.\s\d{2}\-\d{2}\-\d{4}\s\|\s(\pL+):\s\d{2}:\d{2}\s\d{2}\-\d{2}\-\d{4})
regex(\s(\b\w+\b\s)(\b[a-z]+\b\s)?(\b[a-z]+\b\s)Редактировать\s\|\s(\pL+)\s\|\s(\pL+)\s(\|\s\b\w+\b\s)?\|\s(\pL+)\s\|\s(\pL+)\s(\pL+)\s)

(Игнорят все лишнее типа количества записей, когда зарегистрирован, а также зону где профиль, пожаловаться модератору, а также изменения титулов типа - Junior Member, Advanced Member - у пользователей. Это чтобы при изменениях не подсвечивал лишнее)
Ну и конечно в настройках подсветки изменений - точная подсветка и подсветка только изменений в соответствии с фильтром - так WSW подсвечивает изменения только внутри зоны фильтра отслеживаемые.
Автор: guakamole
Дата сообщения: 31.07.2013 20:05
vahhabit

Цитата:
Подтверждаю!

Ну значица однозначно глюк последней версии.

Цитата:
фильтры какие прописывал на этом форуме?

Никаких специальных не прописывал, хватает встроенного темплейта "Forum".
Автор: vahhabit
Дата сообщения: 31.07.2013 20:30
guakamole
а как ты его к конкретной теме прикрутил? он же вроде для раздела форума с темами, а не для самой темы!
Автор: guakamole
Дата сообщения: 31.07.2013 20:48
vahhabit

Цитата:
а как ты его к конкретной теме прикрутил?

Да как и всё остальное. Берёшь, например, адрес настоящей темы из адресной строки своего браузера, http://forum.ru-board.com/topic.cgi?forum=5&topic=2071&start=1060#lt, создаешь с ним новый bookmark, выбираешь тип "Форум", осуществляешь несколько простых настроек по подсказкам и... вперёд.
Автор: vahhabit
Дата сообщения: 31.07.2013 21:16
guakamole
Все пасибо разобрался. Я ошибочно подумал, что он для того места форума, где список тем.


Автор: vahhabit
Дата сообщения: 01.08.2013 12:47
Тут как-то PREVED писал о:

Цитата:
Наваял в этой проге выражение regex(\bпроживани.\b) (ищет отдельное слово, у которого может быть любая буква в окончании). Не заработало (проверял в фильтрах, в тестировании выбранной строки).


Что заметил. Действительно не работает \b. Причом это касается именно русских букв! т.е. если написать \b\w+\b или \b[a-z]*\b - то все норм ищет английское слово. Но если указать например \bприве.\b или \b[а-я]*\b - не работает!!! Кто знает в чем причина? А то приходится выкручиваться пробелами т.е. делать \sпривет.\s - тогда работает. Кто знает как сделать чтобы \b - граница слова работала и с русскими буквами?

Ща кое-что почитал на эту тему, пока нашел только, что поиск, вместо \w можно заменить на \pL - это означает искать юникод символ из любого языка(если я правильно понял) и все равно \b\pL+\b не ищет отдельные русские слова. и даже аналог для чисто русских символов - \b\p{Cyrillic}+\b не ищет отдельных русских слов. Непонятка...
Автор: simploid
Дата сообщения: 08.10.2013 12:32
Уважаемые, а как задать регулярными выражениями - исключить на вебстранице изменения любых цифр? Заранее спасибо!
Автор: vahhabit
Дата сообщения: 08.10.2013 15:26
simploid

Цитата:
Уважаемые, а как задать регулярными выражениями - исключить на вебстранице изменения любых цифр? Заранее спасибо!

Впиши в исключения в ручном фильтре - regex(\d+)
Автор: simploid
Дата сообщения: 12.10.2013 00:45

Цитата:

Впиши в исключения в ручном фильтре - regex(\d+)

Тогда перестает вообще информировать об изменениях, получается что вся страница в исключениях
Автор: vahhabit
Дата сообщения: 12.10.2013 01:03

Цитата:
Тогда перестает вообще информировать об изменениях, получается что вся страница в исключениях

то что я написал это только цифры. Вся страница не может быть в исключениях просто потому, что у тебя страница не только из цифр состоит)
А вот если ты что-то в фильтр отслеженные вбил несуществующее на странице - тогда да. будет говорить, что вся страница в исключениях. Достаточно на 1 символ ошибится, чтобы WebsiteWatcher ничего не нашел и исключил все из поиска.
Автор: darken665
Дата сообщения: 03.12.2013 19:31
Помогите в создании фильтра.
Имеется слово которое встречается в середине строки. Задача фильтровать строку при появлении в ней данного слова.

к примеру предложение вида:"aaa111 bbb cccc ddddd eeee"

("aaa111" и "eeee" неизменны,где "aaa111" дата с меняющимися цифрами. "сссс" то слово при котором должен срабатывать фильтр. "bbb" и "dddd" другие слова,которых может и не быть в предложении.
Как должен выглядеть фильтр?

На ум приходит что то вида RegexToRegex(aaa \d+([,\.]\d+)*,cccc* eeee) , только в таком виде фильтр не срабатывает.

благодарю за помощь.
Автор: MrPerfect
Дата сообщения: 03.12.2013 20:24
Html-тэгов там нет внутри вашего предложения (в исходном коде web-страницы)?
Автор: darken665
Дата сообщения: 03.12.2013 22:50
нет вроде, я лучше покажу конкретный пример. вот доска объявлений, слово при котором должен срабатывать фильтр "corolla"

http://sfbay.craigslist.org/search/cto?catAbb=cto&query=pilot%7Crx300%7C%28rx-300%29%7C%28rx+300%29%7Cmatrix%7Csequoia%7Cc240%7C%28c+240%29%7C%28c+240%29%7C%28corolla+2003%7C2004%7C2005%7C03%7C04%7C05%29%7C%28corola+2003%7C2004%7C2005%7C03%7C04%7C05%29%7C%28carola+2003%7C2004%7C2005%7C03%7C04%7C05%29%7C%28carolla+2003%7C2004%7C2005%7C03%7C04%7C05%29+-4matic&zoomToPosting=&minAsk=300&maxAsk=3800&autoMinYear=&autoMaxYear=&srchType=T
Автор: vahhabit
Дата сообщения: 04.12.2013 03:54
darken665
Вообще прикольная задача. Только сейчас увидел что есть RegextoRegex - интересно. Обычно я решал задачу нежадным поиском. т.е. вместо regextoregex(начало, конец), тупо делал REgex(начало.+?конец)

Вообще строка получается у тебя - aaa 11 bbb cccc ddddd eeee
а регулярка примерно - Regex(\w{3}\s\d{1,2}\s(\w+\s)?cccc\s(\w+\s)?eeee)

Но у тебя это не сработает, потому как ты забыл указать как условие - там могут написать сколько угодно слов. т.е. это не конкретная маска, которую ты указал. Например вот это - Nov 5 2005 Toyota Corolla, Black Sand, 46321 miles $399 уже длиннее указанного тобой. А еще универсальный шаблон не получилось написать, потому как может быть и очень коротким объявление и заканчиваться по разному и поэтому может захватить дофига лишних строк. Я выкрутился ограничением в 20 символов после даты. Т.е. после даты свыше 20 символов, допустим, до слова мерседес будет игнорится такая строка и поэтому лишнее не будет захватывать.
вот регулярка - regex(\s\w{3}\s\d{1,2}\s.{0,20}Mercedes.*?\$\d+)
Вытаскивает вот такие строки -
#1: Nov 27 Mercedes C240 $2560
#2: Dec 3 2002 Mercedes c240 $3500
#3: Nov 19 2002 c240 mercedes $3777

Хотя может это и не то, что ты хочешь. Первым постом ты некорректно сформулировал задачу, я тебе рекомендую на будущее конкретно задачу писать, с регулярками 1 символ ошибся и все, это в 100 раз лучше, чем пытаться придумывать виртуальные примеры на пальцах. Кстати таким образом ты и сам можешь неправильно попросить+ люди на форуме, увидев непонятную задачу просто не захотят тебе отвечать. Поэтому пиши лучше конкретно что и как нужно тебе.
Надеюсь помог.
ЗЫ. с {0,20} - можешь поиграться. Я просто не знаю сколько там могут после даты, символов описания конкретной машины написать:) Если слишком много указать возьмет лишние строки.
+Не забывай внести своё слово марки автомобиля(я так понял ты конкретную марку авто ищешь) в белый список - а то если вдруг у тебя не будет этой строки на странице, будет доканывать тебя тем, что заорет - фильтруется все содержимое.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950

Предыдущая тема: как поставить пароль


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.