Готовые модули

Для всех
Модули для задач\Директория\Замена типов файлов
Модули для задач\Директория\Переименовать отмеченные
Модули для задач\Директория\Создать архив директории
Модули для задач\Директория\Заменить текст в файлах
Модули для задач\Диск\Заполнить диск пустыми файлами
Модули для действий\Текст\Итого по строкам
Модули для действий\Текст\Сортировать строки
Модули для действий\Текст\Свернуть строки
Модули для действий\Текст\Удалить пустые строки
Модули для действий\Текст\Перевести текст
Модули для действий\Список\Обработка списка
Модули для действий\Группа\Обработка группы
Defy
Модули для действий\Директория\Исправить имена файлов
Модули для действий\Задача\Создать скрипт для автовыполнения задачи
Автосохранение Yandex
AutoLoadTorrents
Анализ объявлений Авито
Faster
Модули для буфера\Разделить буфер обмена
Модули для буфера\Соединить буфер обмена
Настройка реестра Windows
DBI
Модули для задач\БД 1С 8\Выгрузить базу данных
Модули для задач\БД 1С 8\Загрузить базу данных
Модули для действий\Директория\Проверить все обработки
Модули для действий\Модуль 1С\Проверить модуль
Запуск RDP
Модули для 1С\Обновление конфигураций 1С
Модули для 1С\Выгрузка конфигураций 1С в файлы
Модули для 1С\Выгрузка информационных баз 1С


Анализ объявлений Авито

Функция Выполнить()
    
	// Автоматический анализ новых объявлений на Авито по заданным адресам
	// После первого выполнения надо заполнить список необходимыми ссылками и выполнить модуль повторно
	
	// Если необходимо автоматически выполнять данный модуль с интервалом 6 часов, снимете комментарий с трех строк ниже
	// Модуль = Этот.Владелец;
	// Модуль.'Интервал автовыполнения' = 6*3600;
	// Модуль.Отмечен = 1;
	
    СписокСтраниц = Главный.Определить(0, Объекты.Список, Свойства.Наименование, "Список страниц Авито");
    СписокСтраниц.Колонки.Определить(Свойства.Наименование,       0, 350, 1, 1);
    СписокСтраниц.Колонки.Определить(Свойства.Адрес,              0, 650, 1, 1);
    СписокСтраниц.Колонки.Определить(Свойства.'Маска включения',  0, 250, 1, 1);
    СписокСтраниц.Колонки.Определить(Свойства.'Маска исключения', 0, 250, 1, 1);
    
    СписокСтраниц.'Отключить канву объекта' = 1;
    Если (СписокСтраниц.Количество()=0) Тогда
        Сообщить("Заполните список страниц");
        Возврат;
    Конец;
    ПрефиксСсылки    = "https://www.avito.ru";
    ОбъектСодержимое = Главный.Определить(0, Объекты.Текст,  Свойства.Наименование, "Содержимое страницы Авито");
    ГруппаДляАнализа = Главный.Определить(0, Объекты.Группа, Свойства.Наименование, "Анализ страниц Авито");
    ГруппаДляАнализа.Колонки.Определить(Свойства.Объектов, 0, 250, 1, 0);
    ОбъектСодержимое.'Тип цветного текста' = "Цветной текст HTML";
    Для ОбъектСтраница Из СписокСтраниц Цикл
        Если (ОбъектСтраница.Отмечен=1) Тогда
            МаскаВключения   = Строки.Строка(ОбъектСтраница.'Маска включения');
            МаскаИсключения  = Строки.Строка(ОбъектСтраница.'Маска исключения');
            ПервоеСчитывание = 0;
            СписокОбъявлений = Главный.Определить(ГруппаДляАнализа, Объекты.Список, Свойства.Наименование, ОбъектСтраница.Наименование);
            Если (СписокОбъявлений.Новый()=1) Тогда
                ПервоеСчитывание = 1;
                СписокОбъявлений.Колонки.Определить(Свойства.Дата,         0, 120, 1, 0);
                СписокОбъявлений.Колонки.Определить(Свойства.Цена,         0, 100, 1, 0);
                СписокОбъявлений.Колонки.Определить(Свойства.Наименование, 0, 450, 1, 1);
                СписокОбъявлений.Колонки.Определить(Свойства.Адрес,        0, 350, 1, 0);
                СписокОбъявлений.'Отключить канву объекта' = 1;
            Конец;
            СписокОбъявлений.Колонки.Определить(Свойства.'Дата окончания', 0, 120, 1, 0);
            СписокОбъявлений.Колонки.Заполнить("Отмечен",                  0);
            
            ОбъектСодержимое.Текст = Сайты.Прочитать(ОбъектСтраница.Адрес, "UTF8", "
"); Текст = ОбъектСодержимое.Текст; СтрСсылка = ""; СтрОписание = ""; СтрЦена = ""; Для Стр Из Текст Цикл Если (Строки.Есть(Стр, " ?")) Тогда Подходит = 1; Если (МаскаВключения<>"") Тогда Если (Строки.Найти(СтрОписание, МаскаВключения)=0) Тогда Подходит = 0; Конец; Конец; Если (МаскаИсключения<>"") Тогда Если (Строки.Найти(СтрОписание, МаскаИсключения)>0) Тогда Подходит = 0; Конец; Конец; Если (Подходит=1) Тогда НоваяЦена = Числа.Число(Строки.Строка(Строки.Свойство(Стр, "?"))); Если (НоваяЦена<>0) Тогда СсылкаОбъявления = ПрефиксСсылки + СтрСсылка; Объявление = СписокОбъявлений.Определить(0, Объекты.Текст, Свойства.Адрес, СсылкаОбъявления); Если (Объявление.Новый()=1) Тогда Объявление.Дата = Моменты.Текущий(); Объявление.Наименование = СтрОписание; Объявление.Цена = НоваяЦена; Если (ПервоеСчитывание=0) Тогда Сообщить(ОбъектСтраница.Наименование + " - новое объявление", Строки.Строка(НоваяЦена), СтрОписание, СсылкаОбъявления); // Звуки.Сигнал(); Конец; Иначе Если (Числа.Целое(Объявление.Цена)<>Числа.Целое(НоваяЦена)) Тогда Сообщить(ОбъектСтраница.Наименование + " - изменилась цена", Строки.Строка(Объявление.Цена)+"->"+Строки.Строка(НоваяЦена), СтрОписание, СсылкаОбъявления); Объявление.Цена = НоваяЦена; Конец; Конец; Объявление.Отмечен = 1; Объявление.'Дата окончания' = Моменты.Текущий(); Конец; Конец; ИначеЕсли (Строки.Есть(Стр, "=")) Тогда Св = Строки.Строка(Строки.Свойство(Стр)); Зн = Строки.Значение(Стр); Если (Св="href") Тогда СтрСсылка = Строки.Между(Зн, """", """"); Конец; Если (Св="title") Тогда СтрОписание = Строки.Между(Зн, """", """"); Конец; Конец; Конец; Если (ПервоеСчитывание=1) Тогда Сообщить("Первое считывание - "+ОбъектСтраница.Наименование, "найдено объявлений", СписокОбъявлений.Количество()); Конец; Конец; Конец; Конец Функция Таймер() Выполнить(); Конец

http://moolex.ru