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

» WebSite-Watcher

Автор: MrPerfect
Дата сообщения: 04.12.2013 07:09
darken665
Используйте отслеживание обновления по ключевым словам. Свойства закладки > вкладка Ключевые слова. Ключевое слово - Corolla.
Автор: darken665
Дата сообщения: 06.12.2013 17:09
Благодарю за ответы, "regex(\s\w{3}\s\d{1,2}\s.{0,20}Mercedes.*?\$\d+)" работает отлично.

Кроме этого, нужно отфильтровать определённые цифры цены. к примеру строчка из той же ссылки.

"Dec 5 2002 Lexus Daytime running lights RX300 AWD $2147 (san jose downtown) pic"

фильтр должен затрагивать последние две цифры цены , в данном случае "47". Третья и четвёртая цифра должна быть только "0,9 или 5", в случае появления других цифр должен срабатывать фильтр. цена так же может быть трёхзначным и пятизначным числом, но фильтр их касаться не должен. И этот фильтр не должен быть как то связан с предыдущим.
Автор: vahhabit
Дата сообщения: 07.12.2013 20:21

Цитата:
darken665
Кроме этого, нужно отфильтровать определённые цифры цены. к примеру строчка из той же ссылки.


Попробуй добавить тогда это - regex(\$\d{2}[059][059]) в свойствах закладки, в разделе ключевые слова - Отслеживание обновлений по ключевым словам.
Вот картинка для наглядности:


Вроде должно запахать.
Автор: darken665
Дата сообщения: 08.12.2013 03:10
vahhabit Спасибо!

Пришёл к выражению вида

regex(\s\w{3}\s\d{1,2}\s{0,20}.*?\$\d{2}[1234678][1234678])

Только работает оно не корректно, и часто захватывает другие строки. как быть?
Автор: MrPerfect
Дата сообщения: 08.12.2013 06:09
Ваша задача неразрешима, так как любой фильтр должен иметь чёткие заданные метки начала и конца, в противном случае корректно работать никогда не будет. Невозможно отслеживать число, игнорируя в нём часть цифр.
Автор: tungus1973
Дата сообщения: 08.12.2013 07:00
Задачу можно решить через систему плагинов.
Посмотрите в файле справки работу операторов Right, Left и Mid.
Автор: vahhabit
Дата сообщения: 08.12.2013 21:14
darken665

Цитата:
Пришёл к выражению вида:
regex(\s\w{3}\s\d{1,2}\s{0,20}.*?\$\d{2}[1234678][1234678])

Конечно захватит лишнее, ты же не вписал туда марку. В общем я понял, что моя задумка с ключевыми провалилась. Он делает так - вначале ищет обновление по отслеживаемым, затем проверяет ключевое слово. И даже если ключевое слово, т.е. нужная нам цена появляется не в отслеживаемых, он все равно считает, что все ок и оповещает. Ну в таком случае, если тебе не критично пропустить длинное объявление...

Давай тогда так извратимся. Только я не понял - тебе объявления нужны с 0,5,9 - 3я или четверая цифра или со всеми остальными цифрами. Эта регулярка с 0,5,9 - отслеживанием.
regex(\s\w{3}\s\d{1,2}\s.{0,20}(Mercedes.{0,30}\$\d{2}[059][059]\s)(?=\(|pic))

Без такого дополнения - он захватывал лишнее и находил ненужные строки, сейчас находит только 1 строку с данными:
#1: Dec 2 2001 c240 Mercedes Benz 3700 odo !! $3700

Если тебе таки все остальные цифры нужны, кроме 0,5,9 - ну замени тогда [059][059] на те, что ты сам указал - [1234678][1234678], тогда он находит такую строку:
#1: Nov 19 2002 c240 mercedes $3777

Но тут есть один косяк, в случае, если человек накатает объяву очень длинную после слова с нужной тебе маркой и даже если цифры в цене подходят - эта регулярка пропустит его. Так что... Но я думаю большинство нужного найдет. Можешь поиграться с цифрами и установить нужную тебе длину объявления после слова Мерседес до цены - Mercedes.{0,30}. здесь установлена длина от 0 до 30 символов, включая пробелы.

ЗЫ. удали ключевые слова. Используй фильтр остлеживаемые.
Автор: darken665
Дата сообщения: 09.12.2013 02:40
Работает отлично!!!
Автор: vahhabit
Дата сообщения: 09.12.2013 03:05
darken665
Рад что помог. Задача была довольно интересная и непривычная.
Кстати тут еще подойдет такого вида решение:) Я заметил, что там цена в начале и в конце пишется, поэтому можно ее сократить до -
regex(\$\d{2}[1234678][1234678]\s\w{3}\s\d{1,2}\s.{0,20}mercedes)
и тоже работает как надо. Причем эта регулярка должна точнее срабатывать, потому что у первой 2 раза разрыв может произойти, если удлиннят и в начале и в конце. А тут только пропустит если в вначале до марки машины длинное описание сделают - что кстати маловероятно. Так что рекомендую эту регулярку.

Добавлено:
В общем если я правильно разобрался, то фильтры, ключевые фразы, белый-черный список работают следующим образом:
Вначале работает фильтр игнорируемые таким образом:
Если в фильтре есть несколько строк, то он последовательно, в соотвествии с регуляркой в первой строке - вырезает внутри текста ненужное. Затем берет обработанный первой регуляркой текст и вырезает еще текст в соответсвии с регуляркой второй строки и.т.д. пока не обработает все строки в разделе игнорируемые фильтры.

Пример:

Допустим на странице есть только текст:
Привет Леша у меня появилось бабло 300 рублей!
Пойдем на прогулку! У меня есть 10 минут.

А у нас фильтры настроены так.
Игнорируемые:
1 строка Привет
2 строка Привет Леша

Произойдет вот что:
1строка фильтра удалит из текста - "Привет"
2строка фильтра не найдет строку - "Привет Леша", потому что предидущая строка вырезала слово "Привет"

Затем к работе приступает фильтр Отслеживаемые:
Он работает с уже обработанным текстом из фильтра игнорируемые. т.е. используя предидущий пример это:
Леша у меня появилось бабло 300 рублей!
Пойдем на прогулку! У меня есть 10 минут.
т.е. слово Привет - у нас вырезан!

Фильтр отслеживаемые работает с текстом, в котором УЖЕ вырезаны фрагменты текста фильтром Игнорируемые. Если в фильтре отслеживаемые есть несколько строк, то вторая строка ЗАНОГО берет обработанный текст фильтра игнорируемые и с нуля добавляет еще кусок для ослеживания. Для втрой строки фильтра не существует поиска из первой строки.
Т.е. фильтр отслеживаемые не ищет внутри найденного. Он просто добавляет фрагменты, в которых будут отслеживаться изменения, учитывая уже вырезанное фильтром Игнорируемые.

Далее Ключевые фразы или Белый-черный список:
я думаю не важно какой из них начинает свою проверку раньше или позже, если мы включили оба, то пока оба не скажут - все ок, то уведомление об обновлении содержимого не выскочит.
Оба фильтра работают с ЧИСТОЙ СТРАНИЦЕЙ и им пофиг что там отфильтровалось в Отслеживаемых и в Игнорируемых.
Черный-Белый список отличается от фильтра по ключевым словам тем, что он будет срабатывать всегда при наличии в любом месте страницы указанной фразы или регулярки.
А Ключевые фразы будут срабатывать только при появлении новых указанных ключевых фраз или удалении со страницы тех, что были ранее на странице. т.е. если указанное в ключевых фразах слово уже один раз сработало при обновлении содержимого, то второй раз это ключевое слово не будет считаться. Но! При этом, если ключевое слово удалится со страницы, снова будет срабатывание этого фильтра.
Но прицип у обоих фильтров один, они начинают проверять только тогда, когда сработало обновление в предидущей проверке - отслеживаемые. Пока в отслеживаемых нет изменений, они будут молчать, даже если на странице в неотслеживаемой области появляеются ключевые слова или слова из белого-черного списка.

Я думаю, что неплохо было бы этот текст добавить в шапку, чтобы меньше вопросов возникало у людей. Как считаете? Сам только сейчас разобрался :)
Автор: radnek
Дата сообщения: 29.12.2013 13:55
Всем привет. Подскажите, пожалуйста. Есть много однотипных движков форума. На каждом форуме внизу есть строка "Сообщений: 72". Вот это число "72" постоянно изменяется. Как сделать так, чтобы при изменении этого числа было уведомление?

Что надо вписать в графу "Отслеживание только указанных строк"?
http://puu.sh/62hwR.png

P.S. Плагина для моего движка форума - нет.
Автор: vahhabit
Дата сообщения: 29.12.2013 14:37
radnek
Ну ты уж совсем новичок, судя по написанному. Тебе не нужен никакой плагин для форума. Изучай регулярные выражения, или на крайняк научись пользоваться мастером фильтров.

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

[more=Пошаговая инструкция в картинках...]Пошаговая инструкция в картинках.



[/more]

ЗЫ. А проще было бы знать регулярки и прописать сразу в фильтры regex(Сообщений:\s\d+) . Но рекомендую, раз ты не знаешь регулярок пользоватся мастером. Хотя мастером тоже быстро добавляется, если знать куда тыкать)

Вообще наверно было бы клево мануалку как нить к этой проге сделать. Может как-нибудь руки дойдут...
Автор: radnek
Дата сообщения: 29.12.2013 14:50

Цитата:
Ну ты уж совсем новичок, судя по написанному


Новичок. В регулярках ничего не понимаю.


Цитата:
Но рекомендую, раз ты не знаешь регулярок пользоватся мастером. Хотя мастером тоже быстро добавляется, если знать куда тыкать)


С мастером я разобрался. И я действительно смог отслеживать поле число сообщений. Спасибо. Но есть уже задача посложней...

1. Вот я отслеживаю изменения числа сообщений - все ок.

2. Но я бы хотел еще добавить такую фичу... Чтобы уведомление об изменении числа сообщений не срабатывало, в случае если сообщение появилось в определенной категории.


P.S. Если кто поможет настроить такой фильтр - с меня пиво или что скажете
Я могу вам выслать portable дистрибутив, если вы сможете настроить то было бы здоров. Уверен что для вас это дело 5 минут

icq: 176244477
skype: mezone

Добавлено:
vahhabit, спасибо за помощь!

Вопрос не актуален, vahhabit'у респект
Автор: totnetot
Дата сообщения: 29.12.2013 18:31
Господа товарищи заседатели!!!

Помогите решить такой вопрос. Мониторю один, сайт с периодичностью скажем 20 минут. Настроил кучу фильтров, разобрался с регулярками, и на выходе все работает. Каждые 20 минут я получаю новый Html файл со списком отфильтрованных новых URL, которые выделены желтым цветом. Все остальные URl в этом HTML зачеркнуты.

Хочу автоматизировать еще несколько действий, поскольку объем этих URL достаточно большой, и вручную проверять каждую ссылку физически не хватит времени. Нужно сделать следующее:

1. Из получаемого HTML файла нужно удалить все ссылки которые перечеркнуты, и оставить только новые, подсвеченные желтым цветом.

2. Открыть каждую найденную новую ссылку, и искать на странице определенный текст. При нахождении определенного текста адрес этой страницы отправить на e-mail с отметкой например "важное", если в ссылке нужный текст не найден, то ее url тоже можно отправить на e-mail с отметкой "второстепенное".
Автор: vahhabit
Дата сообщения: 29.12.2013 19:26
totnetot
Ох и нифигасебе задача) Печалька в том, что даже 1я часть задания с помощью WSW вроде как неосуществима. Есть вариант экспорта, но он всю новую вебстраницу тебе загрузит. Тебе придется по маске парсить нужные тебе ссылки и экспортированного хтмл или тхт, чтобы исключить зачеркнутые - ты же их по какому то правилу вычеркивал. (а если такого правила нет, то печалька).
А вот вторая часть это вообще трындец)
Короче я даже не знаю с какой стороны к этой задаче подступаться. Средствами WSW даже экспорт подсвеченного контента не осуществить, если не ошибаюсь.
Автор: totnetot
Дата сообщения: 29.12.2013 20:11
Спасибо. Я и был готов услышать примерно то что вы написали. Буду додумывать как расчленить Html каким нибудь текстовым процессором, наверняка участки с выделенными урл-ами каким то образом отмечены. И плюс ко всему видимо придется пристраивать какое нибудь средство автоматизации на скриптах. Просто для меня это не слишком легко - разбираться практически в программировании, потому как с примитивным программированием сталкивался уж очень давно, и мозги уже не такие свежие к восприятию новой информации.
Автор: tungus1973
Дата сообщения: 30.12.2013 06:15
totnetot
Я такие задачки решал с помощью плагинов и скриптов WSW.

Для хранения списков ссылок используем инфополя закладки (Инфо1, Инфо2, Инфо3).

Алгоритм примерно такой:
1. Открываем целевую страничку, собираем с неё все ссылки. Сохраняем ссылки в строковом списке.
2. Если поле Инфо1 не пустое (т.е. в нём есть ссылки, собранные при прошлых проверках), то смотрим, какие из ссылок уже были в списке, а какие - новые. Все новые ссылки собираем в строковой список новых ссылок.
3. По новым ссылкам выкачиваем странички встроенным менеджером закачек. (Если странички используют скрипты и проч., то есть менеджер закачек их не загружает, то для каждой ссылки создаём новую закладку, для которой потом запускаем проверку.)
4. В собранных страничках ищем нужный контент, распределяем по рубрикам, рассылаем потребителям.
Автор: vahhabit
Дата сообщения: 30.12.2013 14:20
tungus1973
Ого! Круто блин... а можешь вставить код из плагина с пояснениями? Было бы очень любопытно глянуть...
Автор: tungus1973
Дата сообщения: 30.12.2013 15:01
Откопал в архивах только этот плагин. Большая часть алгоритма в нём реализована.
Обратите внимание, что плагин был написан давно, поэтому некоторые теги могут не соответствовать текущему html-коду Яндекс.Новостей.

Код:
' Плагин обработки новостей сайта Яндекс.Новости
' Установки странички: сортировка "по дате", "не группировать" по сюжетам

'*******************************************************************************

'Эта функция удаляет из текста двойные пробелы, табуляции, символы CRLF,
' пробелы слева и справа от текста
Function OptimizeText(sText) As String

OptimizeText = Trim(OptimizeHtml(DeleteHtmlTags(sText)))

End Function


'*******************************************************************************

' Процедура начинается сразу после скачивания странички из интернета
Sub Wsw_PreProcessPage(Handle, ByRef sMemWeb, ByRef sStatusMessage, ByRef iStatusCode)

'-------------------------------------------------------------------------------
' ОБЪЯВЛЯЕМ ПЕРЕМЕННЫЕ
'-------------------------------------------------------------------------------
' Переменная для текущей даты-времени
Dim sCurDate

' Строковая переменная, которая будет собирать в себя новости со странички
Dim sMem

' Переменная для "тела" новостей
Dim sNewsBody

' Переменная для списка старых новостей
Dim sOldNews

' Переменные для списков ссылок со старой и новой страниц и списка новых ссылок
Dim sLinkListOld, sLinkListWeb

' Теги-признаки начала-конца ссылки на новость, даты-времени публикации, источника, сниппета
Dim sTitleTagStart, sSourceTagStart, sDateTagStart, sSnippTagStart
Dim sTitleTagEnd, sSourceTagEnd, sDateTagEnd, sSnippTagEnd

' Переменные для сбора ссылки на новость, даты-времени публикации, источника, сниппета
Dim sLink, sTitle, sSource, sDateTime, sSnipp

' Переменные для обозначения позиции начала подтекста и его длины
Dim iStart, iLen

' Переменные для счётчиков
Dim i, j

' Максимальное количество новостей на странице
Dim iMaxNews

'-------------------------------------------------------------------------------
' ПРИСВАИВАЕМ ПЕРЕМЕННЫМ ЗНАЧЕНИЯ
'-------------------------------------------------------------------------------
' Сюда вписываем теги-признак начала-конца атрибутов новости
' Теги начала и конца ссылки-заголовка новости
sTitleTagStart = "<div class=""b-news-groups__news-title"">"
sTitleTagEnd = "</a>"
' Теги начала и конца названия источника
sSourceTagStart = "<div class=""b-news-groups__provider-name""><span class=""source"">"
sSourceTagEnd = "</span></div></div>"
' Теги начала и конца даты-времени публикации
sDateTagStart = "<div class=""b-news-groups__news-date-time"">"
sDateTagEnd = "</div>"
' Теги начала и конца сниппета публикации
sSnippTagStart = "<span class=""b-news-groups__news-description"
sSnippTagEnd = "</span>"

'-------------------------------------------------------------------------------
' ТЕЛО ПЛАГИНА
'-------------------------------------------------------------------------------
' Получаем текущие дату и время в виде строки
sCurDate = CStr(Now)
' Преобразуем текущую дату в формат "ДД.ММ.ГГ"
sCurDate = Left(sCurDate, 6) + Mid(sCurDate, 9, 2)

' Присваиваем переменной sMem текстовое значение html-кода странички. Теперь все текстовые операции
' будем выполнять с этой переменной, а в sMemWeb будем формировать новую html-страничку
sMem = sMemWeb
' Тела новостей и списка ссылок у нас пока нет, поэтому присваиваем их переменным "пустую строку"
sNewsBody = ""
sLinkListWeb = ""

'-------------------------------------------------------------------------------
' НАЧИНАЕМ ФОРМИРОВАТЬ НОВОЕ ТЕЛО WEB-СТРАНИЧКИ
'-------------------------------------------------------------------------------
' Начинаем "шапку страницы". В заголовок страницы помещаем название закладки
sMemWeb = "<html><head><title>" + Bookmark_GetProperty(Handle, "name")
' Устанавливаем кодировку UTF-8
sMemWeb = sMemWeb + "</title><meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"">"
' Закрываем "шапку" страницы
sMemWeb = sMemWeb + "</head><body>"
' Новости будут располагаться в виде нумерованного списка (тег <ol>)
sMemWeb = sMemWeb + "<ol>" + CRLF

'-------------------------------------------------------------------------------
' ВЫБИРАЕМ ИЗ СТРАНИЧКИ НОВОСТИ И РАССТАВЛЯЕМ ИХ В НУЖНОМ НАМ ПОРЯДКЕ
'-------------------------------------------------------------------------------
' Теперь нам нужно вписать в тело странички новости
' Запускаем цикл, который будет выполняться, пока найден хотя бы один признак новости
Do While FindString(sMem, sSourceTagStart, iStart, iLen)

' Удаляем из странички весь текст до начала найденной новости
Delete(sMem, 1, iStart -1)

' Выбираем сведения об ИСТОЧНИКАХ НОВОСТЕЙ
If FindWildcard(sMem, sSourceTagStart + "*" + sSourceTagEnd, iStart, iLen) Then

' Найденный текст копируем в переменную, удаляем из общего текста, оптимизируем
sSource = OptimizeText(CopyAndDelete(sMem, iStart, iLen))

Else
' Иначе...
' ...завершаем выполнение плагина с ошибкой
iStatusCode = 2
sStatusMessage = "Ошибка: Не найден шаблон!"

End If


' Выбираем сведения о ДАТЕ-ВРЕМЕНИ ПУБЛИКАЦИИ
If FindWildcard(sMem, sDateTagStart + "*" + sDateTagEnd, iStart, iLen) Then

' Найденный текст копируем в переменную, удаляем из общего текста, оптимизируем
sDateTime = OptimizeText(CopyAndDelete(sMem, iStart, iLen))

' Проверяем, если для новости указано только время публикации,...
If Len(sDateTime) = 5 Then

' ...то добавляем к ней сегодняшнюю дату в формате "дд.мм.гг чч:мм"
sDateTime = sCurDate + " " + sDateTime

End If

End If


' Выбираем сведения о ССЫЛКЕ-ЗАГОЛОВКЕ НОВОСТИ
If FindWildcard(sMem, sTitleTagStart + "*" + sTitleTagEnd, iStart, iLen) Then

' Найденный текст копируем в переменную, удаляем из общего текста, оптимизируем
sTitle = CopyAndDelete(sMem, iStart, iLen)

' Внутри найденного текста ищем теги ссылки
If FindWildcard(sTitle, "<a *</a>", iStart, iLen) Then

' Вырезаем ссылку с тегами
sTitle = CopyAndDelete(sTitle, iStart, iLen)

' Вырезанный текст также присваиваем переменной, из которой потом извлечём ссылку
sLink = sTitle

' Оптимизируем заголовок, удаляем начальные и конечные пробелы, выделенный текст оставляем
sTitle = Trim(DeleteHtmlTags(sTitle))

' Если найдена ссылка на новость, то...
If FindWildcard(sLink, "href=""*""", iStart, iLen) Then

' ...извлекаем ссылку на новость из переменной
sLink = Mid(sLink, iStart +6, iLen -7)

End If

End If

End If


' Выбираем текст СНИППЕТА НОВОСТИ
If FindWildcard(sMem, sSnippTagStart + "*" + sSnippTagEnd, iStart, iLen) Then

' Оптимизируем сниппет, удаляем начальные и конечные пробелы, выделенный текст оставляем
sSnipp = Trim(CopyAndDelete(sMem, iStart, iLen))

End If

' Собираем чистый текст новостей в одну переменную, с которой потом будем работать через инфополе1
' В конце каждой новости вставляем знак CRLF, формируя таким образом строковой список
' В первую строку новости помещаем извлеченную ссылку-заголовок
sNewsBody = sNewsBody + "<li><p align=""justify""><a href=""" + sLink + """>" + sTitle + "</a><br>"
' Во второй строке будет название источника новости
sNewsBody = sNewsBody + sSource + "<br>"
' В третьей строке новости будет дата-время публикации
sNewsBody = sNewsBody + sDateTime + "<br>"
' В четвёртой строке разместим извлечённый сниппет новости
sNewsBody = sNewsBody + sSnipp + "</p>" + CRLF

' В список ссылок с веб странички добавляем извлечённую ссылку на новость
sLinkListWeb = sLinkListWeb + sLink + CRLF

Loop


'-------------------------------------------------------------------------------
' ОПРЕДЕЛЯЕМ, ПОЯВИЛИСЬ ЛИ НОВЫЕ НОВОСТИ
'-------------------------------------------------------------------------------
' Переменной Старых новостей присваиваем значение из Инфополя1
sOldNews = Bookmark_GetProperty(Handle, "infofield1")
' Переменной Старых ссылок на новости присваиваем значение из Инфополя2
sLinkListOld = Bookmark_GetProperty(Handle, "infofield2")

' Если же Инфополе1 было пустым,...
If sOldNews = "" Then

' ...то вписываем в него переменную с собранными новостями, ...
Bookmark_SetProperty(Handle, "infofield1", sNewsBody)
' ...а в Инфополе2 вписываем список ссылок на новости
Bookmark_SetProperty(Handle, "infofield2", sLinkListWeb)

Else
' Если же Инфополе1 не пустое, значит, у нас уже были собраны новости.
' Начинаем формировать список новых новостей

' Сравним ссылки из веб-странички с ссылками из старой странички
' Если списки полностью равны, значит, изменений не произошло
If sLinkListOld = sLinkListWeb Then
' Завершаем выполнение плагина с кодом "Закладка проверена, изменений нет"
iStatusCode = 0
sStatusMessage = "OK"
End If

' Определяем максимальное количество новостей на страничке, чтобы не накапливать
' очень большие списки новостей
' Если количество ссылок на новости больше 10, то...
If StringList_ItemCount(sLinkListWeb) > 10 Then
' ...максимальное количество новостей на страничке будет в 4 раза больше,
' чем общее количество новостей, получаемое обычно из веб-странички
' Если Вы хотите видеть на странице другое количество новостей, то
' вместо цифр 4 и 40 (см.ниже) впишите другие значения.
iMaxNews = StringList_ItemCount(sLinkListWeb) * 4
Else
' Если же новостей на веб-страничке меньше или равно 10, то просто
' устанавливаем максимум 40 новостей
iMaxNews = 100
End If

' Выявляем новые ссылки
' Будем сравнивать ссылки из нового списка со ссылками из старого списка
For i = StringList_ItemCount(sLinkListWeb)-1 To 0 Step -1

' Устанавливаем счётчик для списка ссылок с локальной страницы
For j = StringList_ItemCount(sLinkListOld)-1 To 0 Step -1

' Если ссылка с веб-страницы равна ссылке с локальной страницы, ...
If StringList_GetItem(sLinkListWeb, i) = StringList_GetItem(sLinkListOld, j) Then

' ...то удаляем её из списка ссылок, и...
StringList_DeleteItem(sLinkListWeb, i)
' ...удаляем новость из списка новых новостей
StringList_DeleteItem(sNewsBody, i)
' ...завершаем цикл для счётчика j
Exit For

End If

Next

Next
' По окончании работы цикла, мы имеем список новых ссылок и список новых новостей.

'-------------------------------------------------------------------------------
' ВЫКАЧИВАЕМ НОВЫЕ НОВОСТИ
' (Если Вы не хотите выкачивать странички, то поставьте знак "комментарий" (') перед
' тремя следующими строками, начинающихся с For, DownloadFile и Next)
'-------------------------------------------------------------------------------
' Выкачиваем странички с новыми новостями
For i = 0 To StringList_ItemCount(sLinkListWeb)-1
' Если в менеджере загрузок уже есть файл с таким URL, то этот файл не будет загружен
DownloadFile(Handle, StringList_GetItem(sLinkListWeb, i), "", FALSE)
Next

'-------------------------------------------------------------------------------
' ОБЪЕДИНЯЕМ НОВЫЕ И СТАРЫЕ НОВОСТИ
'-------------------------------------------------------------------------------
' Объединяем новые и старые новости (новые ставим в начало страницы)
sNewsBody = sNewsBody + sOldNews
' Объединяем новые и старые ссылки на новости (новые ставим в начало списка)
sLinkListWeb = sLinkListWeb + sLinkListOld

' Если общее количество новостей превышает установленное нами максимальное значение,
' то удаляем лишние новости
IF StringList_ItemCount(sLinkListWeb) > iMaxNews Then

' Запускаем цикл для лишних новостей
For i = StringList_ItemCount(sLinkListWeb) -1 To iMaxNews Step -1
' Удаляем лишное ссылки на новости
StringList_DeleteItem(sLinkListWeb , i)
' Удаляем лишние новости
StringList_DeleteItem(sNewsBody, i)
Next

End If

' Помещаем в поля "Инфополе1" и "Инфополе2" новые списки новостей и ссылок
Bookmark_SetProperty(Handle, "infofield1", sNewsBody)
Bookmark_SetProperty(Handle, "infofield2", sLinkListWeb)

End If


'-------------------------------------------------------------------------------
' ЗАКАНЧИВАЕМ СТРОИТЕЛЬСТВО HTML-СТРАНИЧКИ
'-------------------------------------------------------------------------------
' Закрываем нумерованный список
sMemWeb = sMemWeb + sNewsBody + "</ol>"
' Заканчиваем "подвал" странички
sMemWeb = sMemWeb + "</body></html>"

End Sub
Автор: totnetot
Дата сообщения: 30.12.2013 19:28
Добавлено:
tungus1973
Это наверное слишком сложно для меня, в языке скриптов просто так с наскоку не разобраться. Вот я и ищу наиболее легкоусвояемое средство автоматизации.
Автор: vahhabit
Дата сообщения: 30.12.2013 23:49
Спасибо tungus1973
Буду разбираться на досуге)
Автор: tungus1973
Дата сообщения: 31.12.2013 08:12
Плагин подробно закомментирован. Для каждого блока и строки описано, что они делают.
Значение операторов можно посмотреть в файле справки WSW. На сайте программы она, кстати, выложена на русском языке. Там же можно скачать русское руководство пользователя в формате PDF.

Я сам тоже не программист, поэтому подозреваю, что приведённый плагин можно было написать более эффективным кодом. Возможно, у Вас получится это сделать лучше.

И ещё порекомендую почитать раздел о скриптах. С их помощью можно автоматизировать многие операции, например, такие как запуск проверки новых закладок или удаление временных закладок, когда они больше уже не нужны.

----
Поздравляю всех участников форума с наступающим 2014 годом!
Счастливого Нового года!
Автор: TemaZosin
Дата сообщения: 13.01.2014 21:01
Может кто подсказать как настроить

Я жду товара на площадке (продавец продает раз в несколько дней). Она отлично срабатывает, но есть ложные срабатывания когда меняются данные на страницы, такие как: продавец онлайн/офлайн, последняя продажа была ххх.


Хотелось бы, чтобы слежка шла лишь за наличием кнопки оплаты.

Пример с кнопкой оплаты http://waa.ai/Pbm
Без кнопки оплаты http://waa.ai/Pbx


Хотелось бы, чтобы когда кнопки "КУПИТЬ" нет, то считается, что страница не обновилась.
Сейчас у меня постоянно выделяется красным (якобы обновилось) и опция "mark as read" не работает.

Буду благодарен за подсказки.
Автор: vahhabit
Дата сообщения: 13.01.2014 21:10
TemaZosin
Так в чем проблема? В свойствах закладки - Дополнительно - Игнорирование - Белый список, хренани слова, которые есть только в поле купить и все. например, "Правилами покупки товаров" и изменения впринципе не будут отслеживаться, пока это поле не появится.
Автор: TemaZosin
Дата сообщения: 13.01.2014 22:47
vahhabit
Пробовал, не корректно работает. Посмотрел в редакторе, который встроен в программу - не всегда подгружает этот фрейм. Думал, может как-то можно более "красиво" настроить. Например на весь появляющийся "фрейм" (купить и выбор покупки), который при наличии появляется, детектить.
Автор: vahhabit
Дата сообщения: 13.01.2014 22:56
TemaZosin
В редакторе подгружается последняя измененная версия, а не текущая. Что такое некорректно? Это значит срабатывает когда нет фрейма? Или что-то другое? Ты отдавай отчет в том, что я не рядом с тобой сижу, подробнее расписывай.
Если действительно фрейм криво обнаруживает, ну тогда выбери другой метод проверки - http://img853.imageshack.us/img853/7844/smym.png
Автор: illarion88
Дата сообщения: 20.01.2014 07:52
Доброго времени суток! Заранее извиняюсь может этот вопрос уже поднимался, к сожалению все как обычно "цейтнот", но надеюсь на понимание. Пытаюсь настроить отправку результатов мониторинга на почту а он зараза ошибку выдает:
2014-01-20 11:22:15 - Could not send all queued e-mails, no valid "From: address". More details see "View + Log file". Problem resolution: Clear the e-mail outbox and verify the e-mail addresses in the program configuration. If there is a temporary server problem and all e-mail addresses are correct, then no actions are required. [mailoutbox=20140117135435718466.msg]
И не знаю что делать, вроде все настроил
Автор: tungus1973
Дата сообщения: 20.01.2014 08:40
Если я правильно понял, WSW пишет об ошибке почтового адреса, с которого пересылаются письма?
Проверьте настройки почты. Может быть неверно настроены данные почтового сервера? Попробуйте отправить через WSW тестовое письмо (есть такая кнопка в WSW), и проверьте, дойдёт ли оно.
Автор: illarion88
Дата сообщения: 20.01.2014 12:48
самое что интересное текстовые сообщения доходят а вот при проверке страниц пишет ошибка-((((
Автор: MrPerfect
Дата сообщения: 20.01.2014 13:20
У вас нет почтовых или сетевых админских ограничений?
Автор: MrPerfect
Дата сообщения: 20.01.2014 16:49
В последнее время при фоновой проверке закладок у меня сложилась неприятная ситуация, когда программа перехватывает фокус из активного приложения, а затем возвращает фокус на место. При массовой проверке сотен закладок работа затруднительна, нужно дожидаться полного окончания проверки. Не было ли у кого подобной проблемы перехвата фокуса, решения или выводов от чего это происходит? Предположительно это проблема IE, когда проверяются страницы с какими-то специфичными скриптами. Спасибо.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950

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


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