Парсинг по названию
Вводим название группы, которое берётся из ссылки в браузере. Например, из ссылки https://my.mail.ru/community/do.nice/ получится название do.nice.
Парсинг по ключевой фразе
Вводим фразу для поиска, например, «лучшие рецепты» (вводить без кавычек). На первом этапе программа сформирует список групп, взятых из поисковой выдачи (метод аналогичен этому https://my.mail.ru/my/communities-search?q=лучшие рецепты&st=search&head=1). Следующий шаг — это сбор с них участников (не более 2000 с каждой).
Парсинг по списку из групп файла
Файл с расширением txt (кодировка UTF-8) должен содержать в себе список названий, например:
For-man
do.nice
wichuga
etc
Режим аналогичен предыдущему. Отличие в том, что этап сбора групп пропускается так как список групп загружается из файла.
Собрать друзей по списку почт
Файл с расширением txt (кодировка UTF-8) должен содержать в себе список почт, например:
Собрать активных участников
Для работы этого режима необходимо загрузить список групп (формат файла был описан выше). Далее указать необходимый временной интервал: «За сутки», «За неделю»…Программа будет заходить в каждую из групп, собирать посты, удовлетворяющие условиям. После чего парсить email-ы из комментариев и лайкнувших. В результирующем файле будут только почты и имя/фамилия (если отмечена опция «Собирать доп. инфо»).
Парсинг списка групп по ключевой фразе
Этот режим входит во второй.
Но по просьбам вынесен еще и отдельно. Вводим фразу для поиска и нажимаем старт. Получившийся список можно использовать также и в режиме «По списку групп из файла».Основные возможности:
Максимальное количество потоков 4. В некоторых случаях программа управляет ими автоматически, в зависимости от количества участников или друзей, чтобы лишний раз не расходовать ресурсы системы. Продажа с привязкой к железу. Переустановка ОС не повлияет на лицензию.
Приветствую участников форума и новичков в области веб-автоматизации.
Представляю вашему вниманию простенький парсер анкет социальной сети Мой Мир Mail.Ru.
Шаблон, в первую очередь, выступает в качестве доказательства того, что даже сейчас возможно создание шаблонов, практически, без использования C#. Именно поэтому пришлось отказаться от автоматического добавления количества попыток выполнения шаблона и автоматического запуска в многопотоке, поскольку на данный момент без C# мне не удалось отловить, что глобальная переменная не инициализирована. В данном случае всё реализовано стандартными экшенами, за исключением обработки дат для добавления в БД MySQL.
Давно известно, что таргетированная рассылка дает более высокий конверт. А в этих анкетах, порой встречаются весьма интересные подробности:
Использование базы данных дает возможность хранить полные варианты анкет и обрабатывать их с высокой скоростью, для создания узкоцелевой выборки из собранной базы пользователей.
В качестве пространства для развития, в данной версии шаблона, парсятся группы только с первой страницы выдачи. Желающие могут это легко доработать.
Шаблон может работать в многопотоке, для этого, полученные, по запросу, группы складываются в файл. Далее они берутся оттуда с удалением, а это значит, что каждый поток обрабатывает участников только одной группы. В случае, если файл пуст, необходимо дать время первому потоку заполнить его группами.
Как известно, с некоторых пор, Мой Мир отдает только 500 участников группы. Чтобы исправить это досадное недоразумение, в шаблон добавлена возможность использования словаря. Например, с именами и фамилиями, для того чтобы расширить выдачу. Архив с именами и фамилиями прилагается.
Парсинг анкеты производится при помощи стандартного HTTP-GET запроса, с использованием относительно новой функции
Входные настройки
При выводе данных в файлы полный слепок анкеты не сохраняется.
В качестве СУБД я использую портированный MySQL 5.5.25, который входит в состав AMP пакета Denwer, чего и вам советую.
Спойлер: Формат таблицы для БДCREATE TABLE IF NOT EXISTS `mymailru` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`mailurl` text NOT NULL,
`email` text NOT NULL,
`inviz` tinyint(1) NOT NULL,
`bdate` date NOT NULL,
`age` tinyint(3) NOT NULL,
`from` text NOT NULL,
`livenow` text NOT NULL,
`lastseen` date NOT NULL,
`info` text NOT NULL,
`keyword` text NOT NULL,
`groupname` text NOT NULL,
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
EmailFromMyWorld — программа для извлечения электронных почт пользователей, состоящих в группах в социальной сети Мой Мир@Mail. ru.
EmailFromMyWorld крайне проста в использовании. Нужно зайти в Мой Мир на страницу интересующей группы и скопировать ее адрес (URL). Обращаю внимание, что программа рассчитана на то, что заходить в Мой Мир вы будете анонимно, то есть не будучи залогиненным под собой. После копирования адреса группы, нужно запустить EmailFromMyWorld и вставить в единственное доступное поле ввода скопированный адрес. После этого требуется нажать кнопку «Извлечь» в программе и тем самым запустить процесс извлечения e-mail пользователей из группы. По времени этот процесс занимает около 10 минут, но зависит от производительности компьютера и скорости соединения с Интернет.
После завершения сбора данных появится кнопка «Сохранить», нажав на которую можно записать полученные результаты в файл. Доступны варианты сохранения в таблицу Excel, csv-файл и в обычный текстовый формат. Если вы выберете таблицу Excel (как в видеопримере ниже), то после сохранения программа сама запустит Excel и сообщит об окончании процесса.
В результате работы программы получаются собранными около 10 000 (десяти тысяч) почтовых адресов. Если у вас возникает вопрос: «Почему только 10 000, если в группе их пользователей гораздо больше?», то ответ на него предельно просто. Как понятно из видео, доступных для просмотра страниц с пользователями всего 500 штук. На 501-ой странице уже будет ошибка (видимо, защита или недоработка соцсети). Так что в сумме 500 страниц по 20 пользователей на каждой как раз и дают наши 10 000 емэйлов. Говорят, что есть способ извлечь и остальные, но пока у меня руки до этого не дошли. Возможно, в следующих версиях программы все будет в лучшем виде 😉
Более подробно можно увидеть на видео ниже.
Программа платная, но для оценки ее возможностей демо-версии вам вполне должно хватить. И уже потом вы сможете решить, регистрировать ее или нет.
Если вам недостаточно почтовых адресов пользователей состоящих в группах, то вы можете попробовать макрос-парсер для Excel, который позволяет собирать email’ы из страниц с поисковым запросом.
Операционная система: Windows all
Категория программы: Полезное
Видимо, сообщество МойМир закрыло доступ к участникам групп для неавторизованных посетителей, поэтому скачивание программы пока приостановлено. Используйте макрос-парсер.
Программа Мой Мир собирает email-ы из социальной сети . Работат в 6 режимах (описание смотри ниже). На выходе создаются файлы Online.txt и Offline.txt либо общие для всех групп, либо для каждой группы в отдельной папке (см скрин настройки).
по названию
Вводим название группы, которое берётся из ссылки в браузере. Например, из ссылки https://my.mail.ru/community/do.nice/ получится название do.nice.
по ключевой фразе
Вводим фразу для поиска, например, «лучшие рецепты» (вводить без кавычек). На первом этапе программа сформирует список групп, взятых из поисковой выдачи (метод аналогичен этому https://my.mail.ru/my/communities-search?q=лучшие рецепты&st=search&head=1). Следующий шаг — это сбор с них участников (не более 2000 с каждой).
по списку групп из файла
Файл с расширением txt (кодировка UTF-8) должен содержать в себе список названий, например:Режим аналогичен предыдущему. Отличие в том, что этап сбора групп пропускается так как список групп загружается из файла.
Собрать друзей по списку почт
Файл с расширением txt (кодировка UTF-8)
должен содержать в себе список почт, например:
[email protected]
[email protected]
[email protected]Парсер
заходит в профиль Мой Мир каждой из почт (если он существует и не
скрыт) и собирает почты друзей. (не более 2000 с каждой)
Рекомендуется разбивать большие файлы с базой не более чем на 50 000. В среднем с файла с 50к почт — получается 1кк email.
Собрать активных участников
Для работы этого режима необходимо загрузить список групп (формат файла был описан выше). Далее указать необходимый временной интервал: «За сутки», «За неделю»…Программа будет заходить в каждую из групп, собирать посты, удовлетворяющие условиям. После чего парсить email-ы из комментариев и лайкнувших. В результирующем файле будут только почты и имя/фамилия (если отмечена опция «Собирать доп. инфо»).Парсинг списка групп по ключевой фразе
Этот режим входит во второй. Но по просьбам вынесен еще и отдельно. Вводим фразу для поиска и нажимаем старт. Получившийся список можно использовать также и в режиме «По списку групп из файла».
Основные возможности:
Максимальное количество потоков 4. В некоторых случаях программа управляет ими автоматически, в зависимости от количества участников или друзей, чтобы лишний раз не расходовать ресурсы системы. Продажа с привязкой к железу. Переустановка ОС не повлияет на лицензию. Перепривязка до 2 раз в месяц бесплатно, далее 100 р.
По функционалу ничего нового, выгребает всех участников из группы/ групп (в зависимости от настроек). На выходе создаются файлы OnlineUsers.txt и OfflineUsers.txt либо общие для всех групп, либо для каждой группы в отдельной папке (см скрин настройки).
Основные возможности:
Шаблон
На скринах ниже работа шаба на стареньком ноуте и соседском wi-fi. За 7,5 часов работы в один поток 580 101 почт, средняя скорость ~1260 e-mail/минПрограмма
Оптимальное количество потоков каждый найдет для себя сам. Сделал ограничение 10. Я использую 4-5 потоков, так стабильнее выдача от mail-а. Продажа с привязкой к железу. Если нужна будет доп. инфо об участниках (имя, возраст, город), добавлю в обновлениях…
[MEDIA=youtube]bc9Vb7TmXFI[/MEDIA]
Цена: 25$ (~1400р)
Связь: ЛС,skype: vebposter, telegram: @Vebposter
Таргетированная реклама в социальных сетях – один из самых быстрых, и одновременно эффективных способов получить желаемые результаты в виде лидов, продаж, узнаваемости бренда.
И, несмотря на широкий функционал настроек в рекламных кабинетах (как в Фейсбук, так и во ВКонтакте), без стороннего сервиса по сбору целевой аудитории, осуществить настройку рекламы сложнее.
Конечно же, в ТОП известных русскоязычных парсеров, входит Pepper Ninja.
Прежде всего, поражает огромный функционал и возможности парсера. Удобно, что есть тестовый период. Всего лишь за вступление в официальную группу в ВК, вам предоставят месяц бесплатного пользования с ограниченным функционалом. Также сразу после регистрации, у вас есть 3 дня бесплатного пользования, чтобы вдоволь изучить сервис.
Функционал
Pepper Ninja имеет широкий… Нет! Широчайший спектр возможностей. Остановлюсь на некоторых из них:
Идеально подходит для сообщества, в котором уже собрана пусть небольшая, но целевая аудитория. Т.e., если вы заведомо ранее получали подписчиков путем накрутки, эта функция не подойдет.
Суть, в том, что вы просто вводите ссылку на свое сообщество, а Pepper Ninja анализирует аудиторию, собирает похожую (по типу Look-a-like аудиторий в Facebook), отбирает сообщества, где состоит ваша аудитория и даже предоставляет подробную аналитику.
Позволяет отслеживать не просто количество вступивших в группу, но и сразу же парсить этих пользователей в свою базу.
Можно искать сообщества по ключевым словам, по степени вовлеченности участников в контент сообщества, по гео и типу сообщества. В 2018 г. поиск сообществ улучшили, теперь можно искать и по параметрам аудитории, например, найти группы, в которых состоит больше 70% женщин или сообщества, в которых менее 2% людей до 18 лет, также есть поиск по интересам аудитории и ее гео (именно аудитории, раньше было только гео групп) ну и еще появилась статистика групп и другие фильтры.
Здесь очень удобно, что собирать можно не всех подряд, а только активных. И даже можно указывать, в чем именно для вас заключается активность. Также в 2018 г. появилась кнопка «Быстрый парсинг» туда можно вставить любую ссылку (на группу, пост, человека и т.д.) и парсер сам покажет какую аудиторию можно по ней найти, можно искать посты, хештеги, выгружать аудиторию по гео (работает с ВК).
Pepper Ninja показывает в каких еще группах в ВК пересекается ваша целевая аудитория, кроме той, что указали вы.
Позволяет собрать пользователей, которые состоят в тех или иных группах, указанных вами. Причем, не нужно вводить конкретные ссылки. Достаточно ключевых слов.
Нужно собрать только тех, у кого есть дети? Запросто. У Pepper Ninja даже отдельная вкладка для этого есть.
Очень интересная опция! Вставьте ссылку на страницу сайта, где пользователи оставляют комментарии, авторизовавшись через ВК. Вуаля, и персер собрал тех, кто комментировал материалы на сайте.
Нужен вирусный контент? Используйте эту опцию. Аналог сервиса FeedSpy.
Кроме того, вы можете парсить именинников, комментирующих фото или видео, искать родственников вашей аудитории и участников встреч. Все собранные базы можно подгружать сразу в рекламный кабинет.
И еще (!!) по каждой готовой базе в кабинете отображается статистика, где можно посмотреть следующие характеристики участников:
P.S. В октябре 2018 г. ребята выкатили еще Парсинг по аудио или как искать меломанов.
Причем, вы можете подобрать аудиторию, не только с учетом города, но добавить фильтр по полу и возрасту.
Все то же, что и для ВКонтакте.
Еще одна удобная функция – возможность конвертировать пользователей с Instagram профилей в аккаунты ВКонтакте и обратно.
Одноклассники
Здесь функционал ограничен. Вы можете или собирать аудиторию поста или аудиторию сообществ (причем, вторая функция сейчас в BETA версии).
Нужна аналитика сообществ? В этом вопросе Pepper Ninja прекрасно справится. Просто введите нужную ссылку и вперед.
Аналитика – ключ к успеху в любом интернет-бизнесе. Данная функция позволяет собрать группы в ВКонтакте, в которых состоят посетившие ваш сайт пользователи. Настоящая фантастика, не так ли?
Последние обновления сервиса также смотрите в вебинаре:
Единственным недостатком у сервиса можно назвать ограниченный функционал для социальных сетей Facebook и Одноклассники. С Instagram дела обстоят получше.
В целом, сервисом осталась очень довольна, и с уверенностью могу его рекомендовать, как новичкам в SMM, так и профи.
Автор: Валерия Головко
Источник: https://vlada-rykova.com/?p=6289
Данный материал является частной записью члена сообщества Club.CNews.
Редакция CNews не несет ответственности за его содержание.
Готовность ЖК «Мой мир», который компания «Полис Групп» возводит в Мурино, по итогам декабря 2020 года составила 50%.
На строительной площадке корпуса №1 завершается наружная кладка стен (выполнение 95%) и установка перегородок (82%). Готовность кровли составляет 77%.
Внутри здания выполняются сантехнические работы (20%), электротехнические работы (8%) устройство вентиляции и систем дымоудаления (68%).
В корпусе №2 практически завершена наружная кладка стен (96%), установка перегородок внутри здания (84%), а также монтаж кровли (90%). На объекте приступили к остеклению. Работы по монтажу оконных конструкций выполнены на 35%.
Внутри корпуса продолжаются сантехнические работы (выполнение 20%), работы по вентиляции и дымоудалению 68%.
Наземная часть 3 корпуса составляет 48%. Полностью готов монолитный каркас, кладка наружных стен выполнена на 85%, установка перегородок внутри здания на 68%, на 45% выполнена установка кровли. На объекте началась установка окон – выполнено 9%. Готовность кровельных работ составляет 45%. Общая готовность 3 корпуса составляет 46%.
Компания «Полис Групп» приступила к строительству жилого комплекса ЖК «Мой мир» в декабре 2019 года. Объект реализуется по схеме проектного финансирования совместно с банком ДОМ.РФ.
В составе проекта три корпуса от 15-19 этажей общей площадью более 83 000 кв. м и 5 000 кв. м коммерческих площадей. В одном из корпусов разместится детский сад на 100 мест и поликлиника.
Над проектом фасадов работали специалисты финского архитектурного бюро. Закрытая территория двора будет оборудована зонами отдыха, детскими и спортивными площадками для разных возрастных групп, по периметру установлена система видеонаблюдения. Для придомовой территории разработан ландшафтный дизайн с использованием цветущих многолетних растений.
Всего в ЖК «Мой мир» представлено 3 265 квартир — от студий до 3-комнатных «евро». Завершить строительство жилого комплекса компания планирует в 4 квартале 2022 года.
________________________________
ГК «Полис Групп» работает на рынке недвижимости Санкт-Петербурга и Ленинградской области с 2010 года, сохраняя за собой репутацию надежного застройщика. Компания специализируется на строительстве качественного, современного жилья и объектов инфраструктуры. На счету «Полис Групп» 50 построенных объектов. Застройщик входит в число компаний-лидеров России по объемам текущего жилищного строительства и вводу жилья.
Парсеры Click.ru помогают находить сообщества и собирать целевую аудиторию за пару кликов.
Социальные сети предоставляют рекламодателю широкие возможности таргетинга. Пол, демография и абстрактные интересы — это прошлый век. Современные рекламные системы дают возможность таргетироваться на ту аудиторию, которая наиболее интересна бизнесу. То есть на тех, кто уже разбирается в вашей тематике или каким-либо образом взаимодействует с ней. Нужно лишь найти этих людей и настроить демонстрацию рекламных объявлений специально для них.
Чтобы искать аудиторию было проще, в Click.ru есть два бесплатных инструмента: «Парсер сообществ ВКонтакте» и «Парсер пользователей ВКонтакте». Расскажем, как с ними работать.
Поиск сообществ ВКонтакте с вашей целевой аудиторией
Поиск активных пользователей сообществ ВКонтакте
В рекламном кабинете ВКонтакте можно указать названия групп, которые вам нужны, настроить активность и выбрать исключения, чтобы обеспечить показы только для этой аудитории.
Настройки таргетинга в рекламном кабинете ВКонтакте
В рекламной системе myTarget, с помощью которой можно продвигать товары и услуги во ВКонтакте, Одноклассниках, Мой мир и других проектах, принадлежащих Mail.Ru Group, предлагается аналогичный функционал.
Настройка таргетинга в myTarget
Вроде все просто, но возникает вопрос: а какие группы считаются подходящими, где «обитает» ваша аудитория? Ответить на этот вопрос поможет «Парсер сообществ ВКонтакте».
Зарегистрируйтесь или авторизуйтесь на Click.ru. В вашем личном кабинете доступны результаты всех выполненных процедур сбора данных (парсинга), и можно будет просмотреть любой отчет за любой период времени. Откройте страницу инструмента.
Укажите URL-адрес той группы ВКонтакте, в которой, как вы считаете, сконцентрирована интересная вам аудитория. Это будет исходная позиция для поиска. Если вы не знаете таких групп, укажите свою или популярное сообщество, принадлежащее конкуренту.
Для большей наглядности возьмем группу популярной сети хостелов в северной столице.
Система анализирует контент сообщества, самостоятельно подбирая ключевые запросы, соотносящиеся с его тематикой и сферой деятельности. На это уходит всего несколько секунд. Найденные слова должны будут употребляться в названии или описании сообществ, в которых находится релевантная аудитория.
Список слов всегда можно изменить, убрав дублирующиеся и неподходящие слова, добавив конкретные тематические словосочетания. В самом начале важно избавиться от всех «лишних» групп. Сконцентрируйтесь только на подходящих вам ключевых словах. В нашем примере это:
Рекомендуем активно использовать минус-слова, чтобы избавиться от нецелевого «мусора»:
Чтобы отсечь неподходящие по численности сообщества, в дополнительных настройках укажите требуемый диапазон количества подписчиков у групп, которые будет искать парсер. Мы рекомендуем указывать от 100 до 30 000 человек. Если указать больше, увеличивается риск получить размытую аудиторию с большим количеством нецелевых клиентов. Если меньше, можно получить выборку из заброшенных или слишком узких сообществ.
Отсеките группы с вашей собственной аудиторией, с которой вы уже работаете. Для этого используется фильтр пересечений. После парсинга система покажет, сколько ваших подписчиков подписано на найденное сообщество.
Не забудьте отметить кнопки с видом нужной вам группы. По умолчанию первые две из них уже активны:
Отличаются они уровнем открытости и способом использования. Публичная страница чем-то похожа на информационное табло, поскольку участники имеют минимум возможностей по ее наполнению контентом. В группе у подписчиков появляется больше возможностей — они могут комментировать записи, размещать медиаконтент. Закрытая группа доступна лишь подписчикам, для остальных открыты лишь описание и название. Встреча связана с каким-либо событием, высокая активность участников наблюдается перед ним, а затем группа словно вымирает.
Для парсинга лучше всего подходят публичная страница и группа.
Нажмите кнопку «Подобрать группы», чтобы парсер начал работу. В разделе «Список задач» отобразится соответствующий статус.
Сбор информации занимает несколько минут. Отчет можно получить в нескольких вариантах — в онлайн-формате, XLSX- или TXT-файлами.
Затем вы увидите список сообществ, которые система отобрала по вашим критериям. Возле каждого будет указано общее число подписчиков, количество пересечений (количество ваших подписчиков в этой группе) и тип группы.
В нашем случае парсер нашел свыше тысячи сообществ. Полный перечень групп можно посмотреть прямо на сайте или на компьютере, скачав файл в xlsx-формате. Также можно удалить лишние сообщества или пополнить базу минус-слов и запустить парсер еще раз.
Итак, сообщества подобраны. Теперь можно добавлять их в рекламные кабинеты ВКонтакте или myTarget, а также настраивать таргетинг на аудиторию этих групп.
Если вам требовалось найти именно сообщества — задача выполнена. Однако вы наверняка понимаете, что среди подписчиков групп есть нерелеватная аудитория. А именно:
Этих пользователей лучше вычистить, чтобы не тратить рекламный бюджет вхолостую.
ВКонтакте и myTarget при таргетинге дают возможность указать названия сообществ и добавить списки пользователей (адрес профиля, номер телефона, электронная почта), которым будут показываться объявления.
Загрузка файла с данными пользователей в рекламном кабинете VK
Загрузка файла с данными пользователей в рекламной системе myTarget
Для подбора в найденных ранее сообществах нужной вам аудитории используйте «Парсер пользователей ВКонтакте». Он тоже доступен после регистрации / авторизации в Сlick.ru. В вашем личном кабинете доступны результаты всех выполненных процедур сбора данных (парсинга), и можно будет просмотреть любой отчет за любой период времени. Откройте страницу инструмента.
Выше мы изучили процесс парсинга подходящих вам сообществ ВКонтакте. Теперь URL-адреса найденных групп добавьте в форму парсера списком или виде Excel-файла (лимит — до 100 URL на 1 проверку). Важно, чтобы перечень адресов находился только на первом листе в первой же колонке.
Чтобы не показывать рекламу своим же подписчикам, добавьте адрес вашего сообщества в строке исключений.
Чтобы найти и исключить ботов или неактивные профили, используйте данные об их активности. Поставьте галочки напротив показателей «Лайки» и «Комментарии», укажите диапазон — сколько подобных действий в сообществе совершил подписчик за день, неделю, месяц.
Чересчур «строжить» не нужно — не стоит завышать значения, это сильно сузит аудиторию, отсекая вполне живых пользователей. Укажите для одного пользователя 1-100 действий в месяц.
Любой найденный пользователь может быть подписан сразу на несколько групп из составленного вами списка. Ограничьте число вхождений с помощью бегунка.
После клика по кнопке «Начать подбор» парсер начинает собирать данные. Скорость работы зависит от того, как много сообществ вы добавили, и сколько в них подписчиков.
Операция парсинга занимает обычно несколько минут. После чего система отобразит перечень пользователей и укажет количество лайков, комментариев и пересечений рядом с каждым участником сообщества.
В нашем примере мы выбрали 10 релевантных сообществ и получили от парсера свыше трех тысяч профилей потенциальных клиентов. Теперь можно скачивать базу профилей и загружать их ID профилей в рекламный кабинет для дальнейшего таргетинга.
Как видно, подобрать аудиторию можно быстро и без особых хлопот. При этом вы существенно повышаете эффективность показа рекламных объявлений — их будут видеть только те пользователи, которые реально заинтересованы в вашем товаре или услуге.
Удобные бесплатные парсеры сообществ и пользователей ВКонтакте
Для зарегистрированных пользователей Сlick.ru парсеры бесплатны.
Из других преимуществ инструментов стоит упомянуть:
Может ли кто-нибудь помочь мне, я все перепробовал. Вероятно, мой group.yml, но я не знаю, что делать. Вот журнал ошибок: ERROR.txt Я думаю, это мой интервал, но я не знаю. Вот файл group.yml: VRau9XKt.txt. Спасибо! Также я думаю, что это тоже мой IP. Я отвечу на любые вопросы как можно скорее.
@ nollid2957
yamllint.com <------ Сначала подтвердите свой YAML на этом веб-сайте!
Во-вторых, ваш ранг совладельца неправильно отступил на 1 пробел. Следуйте формату, который вы использовали ранее, чтобы закончить файл.
Я не использую диспетчер групп, я предпочитаю PEX лично, поэтому у вас могут быть ошибки и в синтаксисе, а не только в файле, который вы написали.
Код:
.# Групповое наследование # # Любые унаследованные группы с префиксом g: являются глобальными группами # и унаследованы от GlobalGroups.yml. # # Группы без префикса g: - это группы, локальные для этого мира # и определены в этом файле groups.yml. # # Наследование локальной группы определяет ваше дерево продвижения при использовании 'manpromote / mandemote' группы: По умолчанию: по умолчанию: true разрешения: [] наследование: [] Информация: префикс: '' build: false суффикс: '' Владелец: по умолчанию: false разрешения: - -виснуть. * - '*' наследование: - админ Информация: префикс: '& 4' build: true суффикс: '' Легенда: по умолчанию: false разрешения: - предметы первой необходимости.остаток средств - Essentials.balancetop - essentials.compass - essentials.depth - essentials.getpos - essentials.help - essentials.helpop - essentials.itemdb - essentials.list - essentials.mail - essentials.mail.send - essentials.motd - essentials.msg - essentials.spawn - essentials. delhome - essentials.home - essentials.sethome - essentials.tpa - essentials.tpaccept - essentials.tpa здесь - essentials.tpdeny - essentials.warp - предметы первой необходимости.время.* - essentials.ping - essentials.sethome.multiple.5 - предметы первой необходимости. погода. * - предметы первой необходимости. ремонт. * - essentials.chat.color - essentials.setwarp - essentials.back наследование: [] Информация: префикс: '' build: true суффикс: '' Строитель: по умолчанию: false разрешения: - Essentials.balance - Essentials.balancetop - essentials.compass - essentials.depth - essentials.getpos - essentials.help - essentials.helpop - предметы первой необходимости.itemdb - essentials.list - essentials.mail - essentials.mail.send - essentials.motd - essentials.msg - essentials.spawn - essentials.delhome - essentials.home - essentials.sethome - essentials.tpa - essentials.tpaccept - essentials.tpa здесь - essentials.tpdeny - essentials.warp наследование: [] Информация: префикс: '' build: true суффикс: '' строитель ***: по умолчанию: false разрешения: - Essentials.balance - предметы первой необходимости.балансир - essentials.compass - essentials.depth - essentials.getpos - essentials.help - essentials.helpop - essentials.itemdb - essentials.list - essentials.mail - essentials.mail.send - essentials.motd - essentials.msg - essentials.spawn - essentials.delhome - essentials.home - essentials.sethome - essentials.tpa - essentials.tpaccept - essentials.tpa здесь - essentials.tpdeny - essentials.warp - Essentials.time.* - essentials.ping - essentials.sethome.multiple.4 - предметы первой необходимости. погода. * - предметы первой необходимости. ремонт. * - essentials. back наследование: [] Информация: префикс: '' build: true суффикс: '' Модератор: по умолчанию: false разрешения: [] наследование: - строитель - g: groupmanager_moderator - g: bukkit_moderator - g: essentials_moderator - g: towny_moderator - g: vanish_moderator Информация: префикс: '& 5' build: true суффикс: '' Мастер: по умолчанию: false разрешения: - предметы первой необходимости.остаток средств - Essentials.balancetop - essentials.compass - essentials.depth - essentials.getpos - essentials.help - essentials.helpop - essentials.itemdb - essentials.list - essentials.mail - essentials.mail.send - essentials.motd - essentials.msg - essentials.spawn - essentials.delhome - essentials.home - essentials.sethome - essentials.tpa - essentials.tpaccept - essentials.tpa здесь - essentials.tpdeny - essentials.warp - предметы первой необходимости.время.* - essentials.ping - essentials.sethome.multiple.10 - предметы первой необходимости. погода. * - предметы первой необходимости. ремонт. * - essentials.chat.color - essentials.setwarp - essentials.back - предметы первой необходимости. рядом наследование: [] Информация: префикс: '' build: true суффикс: '' строитель **: по умолчанию: false разрешения: - Essentials.balance - Essentials.balancetop - essentials.compass - essentials.depth - essentials.getpos - essentials.help - предметы первой необходимости.помощь - essentials.itemdb - essentials.list - essentials.mail - essentials.mail.send - essentials.motd - essentials.msg - essentials.spawn - essentials.delhome - essentials.home - essentials.sethome - essentials.tpa - essentials.tpaccept - essentials.tpa здесь - essentials.tpdeny - essentials.warp - Essentials. time. * - essentials.ping - essentials.sethome.multiple.4 - предметы первой необходимости. погода. * наследование: [] Информация: префикс: '' build: true суффикс: '' строитель *: по умолчанию: false разрешения: - предметы первой необходимости.остаток средств - Essentials.balancetop - essentials.compass - essentials.depth - essentials.getpos - essentials.help - essentials.helpop - essentials.itemdb - essentials.list - essentials.mail - essentials.mail.send - essentials.motd - essentials.msg - essentials.spawn - essentials.delhome - essentials.home - essentials.sethome - essentials.tpa - essentials.tpaccept - essentials.tpa здесь - essentials.tpdeny - essentials.warp - предметы первой необходимости.время.* - essentials.ping - essentials.sethome.multiple.3 - предметы первой необходимости. погода. * наследование: [] Информация: префикс: '' build: true суффикс: '' Админ: по умолчанию: false разрешения: [] наследование: - Модератор - g: groupmanager_admin - g: bukkit_admin - g: essentials_admin - g: towny_admin - g: vanish_admin Информация: префикс: '& c' build: true суффикс: ''Если я хочу запустить свой сервер, я получаю эту ошибку:
Код:
.13:35 [СЕРЬЕЗНО] GroupManager - ТЯЖЕЛО - ====================================== ============= 13:35 [СЕРЬЕЗНО] GroupManager - СЕРЬЕЗНО - = ОТЧЕТ ОБ ОШИБКЕ НАЧАТЬ = 13:35 [СЕРЬЕЗНО] GroupManager - ТЯЖЕЛО - ======================================= ============ 13:35 [СЕРЬЕЗНО] GroupManager - СЛОЖНО - === ПОЖАЛУЙСТА, КОПИРУЙТЕ И ВСТАВЬТЕ ОШИБКУ.ЖУРНАЛ ОТ == 13:35 [SEVERE] GroupManager - SEVERE - = ПАПКА GROUPMANAGER ОСНОВНОМУ РАЗРАБОТЧИКУ = 13:35 [СЕРЬЕЗНО] GroupManager - ТЯЖЕЛО - ======================================= ============ 13:35 [SEVERE] GroupManager - SEVERE - Следующий файл не может передать Parser. плагины \ GroupManager \ worlds \ world one \ groups.ymlplugins \ GroupManager \ worlds \ world one \ groups.yml 13:35 [СЕРЬЕЗНО] GroupManager - СЕРЬЕЗНО - ================ =================================== 13:35 [СЕРЬЕЗНО] GroupManager - СЕРЬЕЗНО - = ОТЧЕТ ОБ ОШИБКЕ ЗАВЕРШЕН = 13:35 [СЕРЬЕЗНО] GroupManager - ТЯЖЕЛО - ======================================= ============Итак, я сделал фолд, но не могу его найти.
Журнал ошибок:
Код:
.2012-07-14 13-35 =============================== ЖУРНАЛ ОШИБОК GM ================ =============== java.lang.IllegalArgumentException: следующий файл не может передать Parser. плагины \ GroupManager \ worlds \ world one \ groups.yml в org.anjocaido.groupmanager.dataholder.WorldDataHolder.loadGroups (WorldDataHolder.java:493) в org.anjocaido.groupmanager.dataholder.WorldDataHolder.loadGroups (WorldDataHolder.java:413) на org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.loadWorld (WorldsHolder.java:615) на org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.loadWorld (WorldsHolder.java:577) на org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.initialWorldLoading (WorldsHolder.java:89) на org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.initialLoad (WorldsHolder.java:79) на org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.resetWorldsHolder (WorldsHolder.java:71) на org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.Я решил проблему.(WorldsHolder.java:60) в org.anjocaido.groupmanager.GroupManager.onEnable (GroupManager.java:161) в org.anjocaido.groupmanager.GroupManager.onEnable (GroupManager.java:85) в org.bukkit.plugin.java.JavaPlugin.setEnabled (JavaPlugin.java:215) в org.bukkit.plugin.java.JavaPluginLoader.enablePlugin (JavaPluginLoader.java:337) в org.bukkit.plugin.SimplePluginManager.enablePlugin (SimplePluginManager.java:381) на org.bukkit.craftbukkit.CraftServer.loadPlugin (CraftServer.java:256) на org. bukkit.craftbukkit.CraftServer.enablePlugins (CraftServer.java:238) на org.bukkit.craftbukkit.CraftServer.reload (CraftServer.java:552) на org.bukkit.Bukkit.reload (Bukkit.java:182) в org.bukkit.command.defaults.ReloadCommand.execute (ReloadCommand.java:22) в org.bukkit.command.SimpleCommandMap.dispatch (SimpleCommandMap.java:166) на org.bukkit.craftbukkit.CraftServer.dispatchCommand (CraftServer.java:479) на меня.escapeNT.pail.GUIComponents.ServerConsolePanel $ ConsoleCommandListener.actionPerformed (ServerConsolePanel.java:78) в javax.swing.JTextField.fireActionPerformed (неизвестный источник) в javax.swing.JTextField.postActionEvent (неизвестный источник) в javax.swing.JTextField $ NotifyAction.actionPerformed (неизвестный источник) в javax.swing.SwingUtilities.notifyAction (неизвестный источник) в javax.swing.JComponent.processKeyBinding (неизвестный источник) в javax.swing.JComponent.processKeyBindings (неизвестный источник) в javax.swing.JComponent.processKeyEvent (неизвестный источник) в java.awt.Component.processEvent (неизвестный источник) в java.awt.Container.processEvent (неизвестный источник) в java.awt.Component.dispatchEventImpl (неизвестный источник) в java.awt.Container.dispatchEventImpl (неизвестный источник) в java.awt.Component.dispatchEvent (неизвестный источник) в java.awt.KeyboardFocusManager.redispatchEvent (неизвестный источник) в java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent (неизвестный источник) в java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent (неизвестный источник) в java.awt.DefaultKeyboardFocusManager.typeAheadAssertions (неизвестный источник) в java.awt.DefaultKeyboardFocusManager.dispatchEvent (неизвестный источник) в java.awt.Component.dispatchEventImpl (неизвестный источник) в java.awt.Container.dispatchEventImpl (неизвестный источник) в java.awt.Window.dispatchEventImpl (неизвестный источник) в java.awt.Component. dispatchEvent (неизвестный источник) в java.awt.EventQueue.dispatchEventImpl (неизвестный источник) в java.awt.EventQueue.доступ к $ 000 (неизвестный источник) в java.awt.EventQueue $ 3.run (Неизвестный источник) в java.awt.EventQueue $ 3.run (Неизвестный источник) в java.security.AccessController.doPrivileged (собственный метод) в java.security.ProtectionDomain $ 1.doIntersectionPrivilege (неизвестный источник) в java.security.ProtectionDomain $ 1.doIntersectionPrivilege (неизвестный источник) в java.awt.EventQueue $ 4.run (неизвестный источник) в java.awt.EventQueue $ 4.run (неизвестный источник) в java.security.AccessController.doPrivileged (собственный метод) в java.security.ProtectionDomain $ 1.doIntersectionPrivilege (Неизвестный источник) в java.awt.EventQueue.dispatchEvent (неизвестный источник) в java.awt.EventDispatchThread.pumpOneEventForFilters (неизвестный источник) в java.awt.EventDispatchThread.pumpEventsForFilter (неизвестный источник) в java.awt.EventDispatchThread.pumpEventsForHierarchy (неизвестный источник) в java.awt.EventDispatchThread.pumpEvents (неизвестный источник) в java.awt.EventDispatchThread.pumpEvents (неизвестный источник) в java.awt.EventDispatchThread.в org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue (ScannerImpl.java:733) в org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens (ScannerImpl.java:305) в org.yaml.snakeyaml.scanner.ScannerImpl.checkToken (ScannerImpl.java:179) в org.yaml.snakeyaml.parser.ParserImpl $ ParseBlockMappingKey.produce (ParserImpl.java:563) в org.yaml.snakeyaml.parser.ParserImpl.peekEvent (ParserImpl.java:161) в org.yaml.snakeyaml.parser.ParserImpl.checkEvent (ParserImpl.java:146) в орг.yaml.snakeyaml.composer.Composer.composeMappingNode (Composer.java:230) на org.yaml.snakeyaml.composer.Composer.composeNode (Composer.java:160) на org.yaml.snakeyaml.composer.Composer.composeMappingNode (Composer.java:237) на org. yaml.snakeyaml.composer.Composer.composeNode (Composer.java:160) на org.yaml.snakeyaml.composer.Composer.composeMappingNode (Composer.java:237) на org.yaml.snakeyaml.composer.Composer.composeNode (Composer.java:160) на org.yaml.snakeyaml.composer.Composer.composeDocument (Composer.java:123) на org.yaml.snakeyaml.composer.Composer.getSingleNode (Composer.java:106) в org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData (BaseConstructor.java:121) на org.yaml.snakeyaml.Yaml.loadFromReader (Yaml.java:480) на org.yaml.snakeyaml.Yaml.load (Yaml.java:423) в org.anjocaido.groupmanager.dataholder.WorldDataHolder.loadGroups (WorldDataHolder.java:488) ... еще 59 ================================================== ==========================
РЕДАКТИРОВАТЬ модератором: объединенные сообщения, пожалуйста, используйте кнопку редактирования вместо двойной публикации.
Спасибо!
Сервер — это Bukkit
Плагины — это Iconomy, WorldEdit, ChestShop, WorldGuard, essentials, essentialsspawn, Essentials group manager
начало журнала моего сервера, должна быть информация о версии для подключаемых модулей
Код:
.18-05-2012, 10:43 [INFO] На этом сервере работает версия CraftBukkit git-Bukkit-1.2.5-R1.3-13-g7ab0391-b2190jnks (MC: 1.2.5) (реализация версии API 1.2.5-R2.0) 2012-05-18 10:43:55 [INFO] [GroupManager] Загрузка GroupManager v1.9 (2.9.1) (Phoenix) 2012-05-18 10:43:55 [INFO] [WorldEdit] Загрузка WorldEdit v5.2 2012-05-18 10:43:55 [INFO] [iConomy] Загрузка iConomy v6.0.9b 2012-05-18 10:43:55 [ИНФОРМАЦИЯ] [CommandBook] Загрузка CommandBook v2. 0 2012-05-18 10:43:55 [INFO] [Essentials] Загрузка Essentials v2.9.1 2012-05-18 10:43:55 [INFO] [EssentialsSpawn] Загрузка EssentialsSpawn v2.9.1 2012-05-18 10:43:55 [INFO] [WorldGuard] Загрузка WorldGuard v5.5.2 2012-05-18 10:43:55 [INFO] [ChestShop] Загрузка ChestShop v3.42 2012-05-18 10:43:55 [INFO] Готовим уровень "мир"мой groups.yml
Код:
.групп: По умолчанию: по умолчанию: true Информация: префикс: '' суффикс: '' build: true наследование: '' разрешения: - iConomy.access - iConomy.bank. * - iConomy.list - iConomy.payment - iConomy.rank - ChestShop.shop.buy - ChestShop.shop.sell - essentials.sethome - предметы первой необходимости.дом - essentials.spawn - essentials.warpБыли ли поломки
Код:
.18-05-2012, 10:43 [SEVERE] java.lang.IllegalArgumentException: недопустимый тип узла или неправильный отступ в файле: plugins / GroupManager / worlds / world / groups.yml 18 мая 2012 г., 10:43:56 [СЕРЬЕЗНЫЙ] на org.anjocaido.groupmanager.dataholder.WorldDataHolder.loadGroups (WorldDataHolder.java:552) 18 мая 2012 г., 10:43:56 [СЕРЬЕЗНО] на org.anjocaido.groupmanager.dataholder.WorldDataHolder.loadGroups (WorldDataHolder.java: 380) 18 мая 2012 г., 10:43:56 [СЕРЬЕЗНО] на org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.loadWorld (WorldsHolder.java:586) 18 мая 2012 г., 10:43:56 [СЕРЬЕЗНЫЙ] на org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.loadWorld (WorldsHolder.java:549) 18 мая 2012 г., 10:43:56 [СЕРЬЕЗНО] на org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.initialWorldLoading (WorldsHolder.java:79) 18 мая 2012 г., 10:43:56 [СЕРЬЕЗНО] на org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.initialLoad (WorldsHolder.java: 70) 18 мая 2012 г., 10:43:56 [СЕРЬЕЗНО] на org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.(WorldsHolder.java:62) 18 мая 2012 г., 10:43:56 [СЕРЬЕЗНО] на org. anjocaido.groupmanager.GroupManager.onEnable (GroupManager.java:131) 18 мая 2012 г., 10:43:56 [СЕРЬЕЗНО] на org.bukkit.plugin.java.JavaPlugin.setEnabled (JavaPlugin.java:215) 18 мая 2012 г., 10:43:56 [СЕРЬЕЗНО] на org.bukkit.plugin.java.JavaPluginLoader.enablePlugin (JavaPluginLoader.java:336) 2012-05-18 10:43:56 [СЕРЬЕЗНО] на org.bukkit.plugin.SimplePluginManager.enablePlugin (SimplePluginManager.java:381) 18 мая 2012 г., 10:43:56 [СЕРЬЕЗНО] на org.bukkit.craftbukkit.CraftServer.loadPlugin (CraftServer.java:256) 18 мая 2012 г., 10:43:56 [СЕРЬЕЗНЫЙ] на org.bukkit.craftbukkit.CraftServer.enablePlugins (CraftServer.java:238) 18 мая 2012 г., 10:43:56 [SEVERE] на net.minecraft.server.MinecraftServer.t (MinecraftServer.java:372) 18 мая 2012 г., 10:43:56 [SEVERE] на net.minecraft.server.MinecraftServer.a (MinecraftServer.java:359) 2012-05-18 10:43:56 [СЕРЬЕЗНО] в сети.minecraft.server.MinecraftServer.init (MinecraftServer.java:188) 18 мая 2012 г., 10:43:56 [SEVERE] на net.minecraft.server.MinecraftServer.run (MinecraftServer.java:423) 18 мая 2012 г., 10:43:56 [СЕРЬЕЗНО] на net.minecraft.server.ThreadServerApplication.run (SourceFile: 492) 2012-05-18 10:43:56 [СЕРЬЕЗНАЯ] Ошибка при включении GroupManager v1.9 (2.9.1) (Phoenix) (актуально ли оно?) java.lang.IllegalArgumentException: ваш файл plugins / GroupManager / worlds / world / groups.yml недействителен. Подробности смотрите в консоли.в org.anjocaido.groupmanager.dataholder.WorldDataHolder.loadGroups (WorldDataHolder.java:556) в org.anjocaido.groupmanager.dataholder.WorldDataHolder.loadGroups (WorldDataHolder.java:380) на org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.loadWorld (WorldsHolder.java:586) на org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.loadWorld (WorldsHolder.java:549) на org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.initialWorldLoading (WorldsHolder.java:79) в орг.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.initialLoad (WorldsHolder.java:70) в org. anjocaido.groupmanager.dataholder.worlds.WorldsHolder. (WorldsHolder.java:62) в org.anjocaido.groupmanager.GroupManager.onEnable (GroupManager.java:131) в org.bukkit.plugin.java.JavaPlugin.setEnabled (JavaPlugin.java:215) в org.bukkit.plugin.java.JavaPluginLoader.enablePlugin (JavaPluginLoader.java:336) в org.bukkit.plugin.SimplePluginManager.enablePlugin (SimplePluginManager.java: 381) на org.bukkit.craftbukkit.CraftServer.loadPlugin (CraftServer.java:256) на org.bukkit.craftbukkit.CraftServer.enablePlugins (CraftServer.java:238) на net.minecraft.server.MinecraftServer.t (MinecraftServer.java:372) на net.minecraft.server.MinecraftServer.a (MinecraftServer.java:359) на net.minecraft.server.MinecraftServer.init (MinecraftServer.java:188) на net.minecraft.server.MinecraftServer.run (MinecraftServer.java:423) в net.minecraft.server.ThreadServerApplication.запустить (SourceFile: 492)
Введение
Log Parser 2.x, на мой взгляд, самый крутой инструмент, который Microsoft когда-либо выпускала. Он легко занимает место среди инструментов, выпускаемых Winternals \ Systernals (например, Filemon, Regmon, Process Explorer и т. интересные данные.В моем мире я сосредотачиваюсь на двух основных входах — файлах журнала IIS и средстве просмотра событий.
Во время нашего саммита по веб-администрированию (10 стран за 4 недели в Европе) мы продемонстрировали крутость, которую дает этот инструмент. Кроме того, мы использовали несколько простых слайдов и мощных скриптов, чтобы показать, насколько легко администратор может просматривать журналы просмотра событий и журналы W3C. Сюда входит образец файла журнала объемом 200 мегабайт, показывающий быстроту и мощность Log Parser.
Скачать Log Parser 2.2
Основы синтаксического анализа журналов
Цель этого блога не в том, чтобы кого-либо «научить» Log Parser, а в том, чтобы просто ознакомить людей с ним (если они почему-то не знают). Основы довольно просты и включают следующее:
Вкусов:
Log Parser поставляется в двух вариантах: на основе командной строки и на основе компонентов (com object dll) для тех, кто предпочитает прямое взаимодействие или автоматизацию. Это позволяет пользователям использовать инструмент в веб-приложениях или с легкостью с помощью скриптов, таких как vbscript или jscript.
Форматы ввода:
Я не мог перечислить все выходные форматы, поддерживаемые Log Parser. В файле справки список прокручивается за пределы экрана, поэтому я предлагаю вам посетить его, когда позволит время. Однако, исходя из мышления, ориентированного на IIS, позвольте мне рассказать вам о некоторых вещах, для которых я его использую:
- Преобразование: возможность преобразовывать один формат файла журнала в другой. Это полезно, если вы используете, скажем, централизованное двоичное ведение журнала (только 2K3) и хотите использовать читаемый формат, такой как W3C.Это легко сделать с помощью Log Parser.
- Файлы журнала IIS: Независимо от типа файла журнала, вы можете легко указать с помощью -i: <формат файла> тип файла журнала, и анализатор журнала подберет его и поймет (включая встроенные функции, такие как понимание < 1> означает файл журнала / w3svc / 1.
- Средство просмотра событий: это очень полезно для обнаружения событий ошибок, создаваемых ключевыми службами IIS, такими как w3wp и т. Д.
- Network Monitor: Вы поняли — он может анализировать эти большие «старые» следы netmon, чтобы определить местонахождение конкретного трафика, который вас интересует, и только этого трафика.
Форматы вывода:
- NAT: это значение по умолчанию, но не обязательно лучший. Это просто вернет результаты на экран, но иногда это не очень полезно, так как данные могут быть трудными для чтения или, чаще, СЛИШКОМ БОЛЬШИМИ.
- Datagrid: это удобно для форматирования данных в удобном для чтения формате, хотя, опять же, он все еще немного ограничен. Я использую его часто, так как я не в мире автоматизации, который многие из вас простили бы за мою страсть к ней.Однако, если вы все же решите использовать его, вам следует изучить переключатель -rtp, который позволяет вам точно указать Log Parser, сколько строк нужно напечатать при извлечении данных. Это можно сделать с помощью -rtp: -1 (все строки независимо от их количества) или с помощью -rtp: 10, чтобы напечатать только 10 строк.
- SQL: Да, вы можете легко взять данные из файлов журнала и ввести их в SQL-сервер. Это очень полезно, поскольку позволяет администраторам выбирать вручную (с помощью команд SQL) только те данные, которые им интересны, а не «весь» файл.
Примеры сценариев
В некоторых средах с высоким трафиком использование двоичного журнала может улучшить производительность веб-сервера. Недостатками двоичного журнала являются отсутствие расширенных свойств, таких как реферер и т. Д., Которые не всегда хорошо работают в средах. Однако самая большая проблема, с которой сталкивается большинство администраторов при ведении двоичного журнала, заключается в том, что они * не могут * читать файлы с помощью своего любимого текстового редактора.Войти в парсер журнала…
logparser -i: BIN -o: W3C <имя двоичного файла> <имя нового текстового файла W3C>
Если вам интересно понять, какие браузеры используются чаще всего, вы можете использовать этот скрипт. Основываясь исключительно на свойстве журнала пользовательского агента, он будет подсчитывать, а затем сортировать на основе общего количества обращений
.Выбрать верхние 50
to_int (mul (100.0, PropCount (*))) как процент,
count (*) как TotalHits,
cs (User-Agent) как браузер
из группы [LogFileName]
по браузеру
заказ по Totalhits desc
Это хороший скрипт, который точно определяет, какую полосу пропускания использует ваш сайт. Если вы, возможно, платите за пропускную способность или у вас нет неограниченного количества, это очень полезно знать.
Выберите
To_String (To_timestamp (дата, время), ‘MM-dd’) As Day,
Div (Sum (cs-bytes), 1024) As Incoming (K),
Div (Sum (sc-bytes), 1024) Как исходящий (K)
Из [LogFileName]
в BandwidthByDay.gif
Группировка по дням
Почасовое представление трафика может помочь вам лучше понять, как весь ваш набор приложений используется клиентами. Это полезно во многих отношениях, например при планировании или подготовке к расширению. Есть много применений помимо тех, которые я упомянул, но на ум приходит пара.
SELECT QUANTIZE (TO_LOCALTIME (TO_TIMESTAMP (date, time)), 3600) As Hour,
cs-uri-stem As Url,
COUNT (*) As Hits
FROM [LogFileName]
WHERE cs-uri-stem LIKE ‘ %показатель.htm% ‘
ГРУППА ПО URL, ЧАС
ЗАКАЗ ПО URL
Страница вниз за страницей вниз… это скучное занятие. Такова жизнь веб-администратора, если он решает вручную или, что еще хуже, платить за услуги, чтобы определить, какой трафик происходит на их веб-сайте. Этого можно избежать с помощью Log Parser, который является бесплатным и может сделать это очень быстро, используя популярный язык T-SQL.
ВЫБРАТЬ верх 80
QUANTIZE (TO_TIMESTAMP (дата, время), 3600) как час,
TO_LOWERCASE (STRCAT (‘/’, EXTRACT_TOKEN (cs-uri-stem, 1, ‘/’))) как URI,
COUNT (*) AS RequestsPerHour,
SUM (sc-байтов) AS TotBytesSent,
AVG (sc-байтов) AS AvgBytesSent,
Max (sc-байтов) AS MaxBytesSent,
ADD (1, DIV (Avg (затраченное время), 1000)) AS AvgTime,
ADD (1, DIV (MAX (затраченное время), 1000)) AS MaxTimeИЗ [LogFileName]
ГРУППА ПО ЧАСУ, URI
Имея RequestsPerHour> 10
ORDER BY RequestsPerHour ASC
Мне нравится этот, потому что он позволяет вам найти тех пользователей, у которых цифровая камера настроена на максимальное разрешение в сочетании с тем, у кого отсутствуют навыки редактирования, обрезки или изменения размера. Найдите этих ограничителей пропускной способности и уменьшите их…
Выбрать
Top 10
StrCat (Extract_Path (TO_Lowercase (cs-uri-stem)), ‘/’) AS RequestedPath,
Extract_filename (To_Lowercase (cs-uri-stem)) As RequestedFile,
Count (*) AS Hits ,
Max (затраченное время) как MaxTime,
Avg (затраченное время) как AvgTime,
Max (sc-байты) как BytesSent
From [LogFileName]
Где
(Extract_Extension (To_Lowercase (cs-uri-stem)) IN (‘gif’; ‘jpg’; ‘png’))
И
(sc-status = 200)
Группировка по To_Lowercase (cs-uri-stem)
Порядок отправленных байтов, совпадений, MaxTime DESC
Выбрать
TOP 10
STRCAT (EXTRACT_PATH (cs-uri-stem), ‘/’) AS RequestPath,
EXTRACT_FILENAME (cs-uri-stem) AS RequestedFile,
COUNT (*) AS TotalHits,
Max (time- принято) AS MaxTime,
AVG (затраченное время) AS AvgTime,
AVG (sc-байтов) AS AvgBytesSent
INTO chartTop10Url.gif
ИЗ [LogFileName]
ГРУППА ПО cs-uri-stem
ЗАКАЗ ПО TotalHits DESC
Select
Top 20 c-ip AS Client,
Count (*) AS Hits
INTO Chart.gif
FROM [LogFileName]
GROUP BY c-ip
ORDER BY Hits Desc
SELECT DISTINCT cs (Referer) as Referer,
cs-uri-stem as UrlINTO ReferBrokenLinks.HTML
ИЗ [LogFileName]
WHERE cs (Referer) IS NOT NULL
AND sc-status = 404
AND (sc-substatus IS NULL OR sc-substatus = 0)
Страницы с неработающими ссылками на этот сайт
Страницы с неработающими ссылками на этот сайт Ссылающаяся страница Неработающая ссылка
% Referer% % Url%
SELECT sc-status As Status,
COUNT (*) As NumberINTO StatusCodes. gif
ОТ <2>Статус GROUP BY
Статус ORDER BY
SELECT CASE EXTRACT_TOKEN (cs-uri-stem, 2, ‘/’)
WHEN NULL THEN ‘/’
ELSE EXTRACT_PREFIX (cs-uri-stem, 1, ‘/’)
END As VDir,
QUANTIZE (время -taken, 100) As TimeTaken,
COUNT (*) As NumHitsИЗ [LogFileName]
GROUP BY TimeTaken, VDir
ORDER BY TimeTaken, VDir DESCSELECT CASE EXTRACT_TOKEN (cs-uri-stem, 2, ‘/’)
WHEN NULL THEN ‘/’
ELSE EXTRACT_PREFIX (cs-uri-stem, 1, ‘/’)
END As VDir,
QUANTIZE (время -taken, 100) As TimeTaken,
COUNT (*) As NumHitsИЗ ex05111606.журнал
GROUP BY TimeTaken, VDir
ORDER BY TimeTaken, VDir DESC
SELECT TimeGenerated,
EventTypeName,
Strings,
Message,
CASE EventTypeName
WHEN ‘Событие ошибки’ THEN ‘RED’
WHEN ‘Предупреждающее событие’ THEN ‘YELLOW’
WHEN ‘Информационное событие’ THEN ‘WHITE’
ELSE ‘ СИНИЙ ‘
КОНЕЦ Как цвет
В файл.htm
ИЗ системы
ГДЕ SourceName = ‘W3SVC’
Новые сообщения W3SVC в журнале системных событий Время создания Тип события Строки Сообщение
% TimeGenerated% % EventTypeName% % Strings% % Message%
logparser «Выберите * INTO LogsTable FROM ex *. log WHERE TO_LOWERCASE (EXTRACT_EXTENSION (cs-uri-stem)) NOT IN (‘gif’; ‘jpg’; ‘png’) И sc-status <> 404 ”-i: IISW3C -o: SQL -database: LogsDatabase
Сводка
Log Parser — вероятно, один из немногих инструментов на планете, возможности которого практически «безграничны». Инструмент похож на призера Кентукки Дерби, у которого есть все будущее призового чемпиона — все, что ему нужно, — это немного удачи. Эта удача — это вы, пользователь, поскольку она приведет вас так далеко, как вы этого захотите, и я надеюсь, что эти образцы (любезно предоставленные мной и Алексисом на Roadshow в Европе) окажутся полезными.
Большие ресурсы:
Официальный сайт синтаксического анализатора журналов (не для MS)
Набор инструментов парсера журналов Microsoft от Syngress Publishing
Интеллектуальный анализ данных с помощью Log Parser 2.x и IIS (веб-трансляция)
Бернард Чеа (IIS MVP) Классный блог на анализаторе журнала
Габриэль пишет в Technet Professor о Log Parser
Markdown — это язык разметки, подобный HTML.Среди разработчиков довольно популярно писать блоги, файлы readme, документацию и блоги. Некоторые популярные веб-сайты, поддерживающие форматированный текст, такие как Reddit, GitHub, Notion и т. Д., Позволяют использовать уценку. Я использую markdown для преобразования своего блога из файла разметки в веб-страницы HTML. Markdown прост, но очень эффективен. В этом блоге я напишу о том, как создать простой анализатор уценки для преобразования md в HTML с помощью JavaScript с использованием регулярных выражений.
Если вы откроете файл уценки, вы увидите следующий синтаксис.
# Текст после хеша преобразуется в h2 в HTML
## Get конвертируется в h3
** Текст выделен жирным шрифтом ** _italics_
[Текст ссылки] (URL)
Узнайте больше из этой памятки по уценке.
Регулярное выражение — это последовательность символов, которая помогает нам фиксировать закономерности в тексте. Мы можем использовать его для проверки пользовательского ввода, поиска и замены текстов и, как вы уже догадались, создать наш анализатор уценки. 😉
В разных языках есть разные способы представления RegEx.Вот как это делается в JavaScript.
const шаблон = / Привет /
const text = 'Привет, красивые люди'
pattern.test (текст)
Я объясню шаблоны, которые мы используем в нашем синтаксическом анализаторе, когда мы дойдем до этого раздела. Однако, если вы хотите узнать больше о регулярных выражениях, посетите https://javascript.info.
Анализатор уценки, который я собираюсь создать, — это функция, которая принимает текст уценки в качестве входных данных и возвращает HTML.
function parseMarkdown (markdownText) {
const htmlText = markdownText
вернуть htmlText
}
Здесь мы хотим найти определенный шаблон в markdownText
и выполнить операции замены.
Наш анализатор уценки прост. Он захватывает шаблон из строки уценки, переданной функции как аргумент markdownText
, и заменяет его определенным шаблоном HTML.
Вот как работает функция замены строки.
text = 'привет мир и всем привет'
regEx = / Привет / gi
console.log (text.replace (regEx, 'привет'))
Примечание. Здесь флаг i представляет регистр без учета , а флаг g представляет глобальный , что означает, что он соответствует шаблонам повсюду в строке, а не только первому совпадению.
Regular Expressions позволяет нам захватывать шаблоны текста и ссылаться на них с помощью чего-то вроде индекса. Мы можем использовать индекс в операции замены. Чтобы представить группу, мы можем просто заключить ее в круглые скобки ()
.
text = 'привет мир и всем привет'
regEx = /( Привет).*/i
console.log (text.replace (regEx, 'Соответствующая группа: $ 1'))
Здесь мы сохранили начальное приветствие в группе.\> (. * $) / гим
Примечание: \> представляет экранирующий символ>. Это означает, что> следует рассматривать не как часть специального символа regEx, а как часть самого текста.
Полужирный текст
Для полужирного текста мы хотим выделить текст между двумя звездочками.
const полужирный = /\*\*(.*)\*\*/gim
Курсивный текст
Для текста, выделенного курсивом, мы хотим выделить текст между одной звездочкой.
const курсив = /\*(.*)\*/gim
Для изображения, ссылки и разрыва строки
const image = /!\[(.*?)\ ]\((.*?)\)/gim
const link = /\[(.*?)\ ]\((.*?)\)/gim
const lineBreak = / \ n $ / gim
К этому моменту у вас, вероятно, есть все необходимые знания для понимания концепций. Давайте приспособим все, чему мы научились к настоящему моменту, и построим синтаксический анализатор.\> (. * $) / gim, ‘
$ 1‘) .replace (/\*\*(.*)\*\*/ gim, ‘ $ 1 ‘) .replace (/\*(.*)\*/ gim, ‘ $ 1 ‘) .replace (/!\[(.*?)\ ]\((.*?)\)/ gim, ««) .replace (/\[(.*?)\ ]\((.*?)\)/ gim, « $ 1 «) .replace (/ \ n $ / gim, ‘
Пора протестировать парсер.
const text = `
# Привет мир
** Текст выделен жирным шрифтом **
`
приставка.журнал (parseMarkdown (текст))
Следует напечатать:
Привет, мир
Текст выделен полужирным шрифтом
Наш анализатор уценки завершен. Он не охватывает все, что поддерживает уценка. Попробуйте реализовать их и поделитесь со мной решением через твиттер.
BIG: Как вы надеетесь, на что способны послы?
Дж.P.: Мы группа поддержки BIG, и мы здесь для достижения целей BIG, что означает помощь в проведении мероприятий, обмен нашим опытом, предоставление рекомендаций, а также помощь в расширении контактов, которые уже есть у BIG. Я надеюсь, что мы сможем добиться определенного прогресса в обращении к людям и развеять два основных заблуждения об исследованиях рака груди: 1) что они полностью финансируются фармацевтической промышленностью и, следовательно, не нуждаются в дополнительном финансировании, и 2) что было так много большой прогресс в том, что никто больше не умирает от рака груди.По первому пункту, есть много исследований, которые не представляют коммерческого интереса для фармацевтики и поэтому требуют внешней поддержки. Что касается второго пункта, метастатический рак груди по-прежнему является убийцей и требует дополнительных исследований. Еще одна задача — заручиться поддержкой, участием и энтузиазмом людей, которых в жизни не касался рак груди. Это такое стоящее дело, чтобы поддержать наших матерей, дочерей и внучек. Я думаю, что мы должны передать это сообщение.
БОЛЬШОЙ: Как вы думаете, что другие могут помочь?
Дж.P.: Нам нужен вклад молодых людей, и я надеюсь, что мы сможем связаться с ними и вовлечь их. Я также надеюсь, что мы сможем выйти за пределы бельгийского сообщества, так что международный аспект BIG как исследовательской группы будет отражен в сети сторонников. Люди, которые хотят поддержать BIG, могут помочь не только пожертвовав денежные средства, но и поделившись идеями, рассказав о BIG своим друзьям и связав BIG с мероприятиями, которые они планируют или посещают. Такие мероприятия могут помочь донести идею до людей, собрать средства и придать BIG заслуженный престиж.
BIG: Что, по вашему мнению, делает BIG уникальным?
J.P.: Я думаю, что глобальный, кооперативный аспект BIG, при котором исследователи обмениваются данными и информацией, не является общепринятым способом работы. Это уникально. Все, кого я встречал в BIG, демонстрируют необычайную преданность делу. Они представляют собой сливки медицинской профессии. Также важно то, что исследователи, с которыми я встречался, также являются клиническими врачами, поэтому они напрямую связаны с проблемами, с которыми сталкиваются пациенты.Они понимают проблемы, с которыми пациенты сталкиваются в реальной жизни, такие как желание создать семью во время лечения или стресс от токсической терапии.
BIG: Компания BIG только что отметила свой 15-летний юбилей. Что вы надеетесь увидеть в следующие 15 лет?
J.P.: Я очень надеюсь найти лекарство от метастатического рака груди. Это по-прежнему самая смертоносная форма рака груди, и мы должны помогать этим пациентам. Я также надеюсь, что скрининг на рак груди станет поистине универсальным, так что большему количеству женщин будет поставлен диагноз до того, как у них появится шанс распространиться.
Я рад сообщить, что мы наконец-то открыли исходный код синтаксического анализатора Sweble Wikitext. Вы можете найти объявление в блоге моей исследовательской группы или непосредственно на сайте проекта Sweble. Это работа Ханнеса Дорна, моего первого доктора философии. студент, которого я нанял в 2009 году для реализации парсера Wikitext.
Так что насчет «взлома кода MediaWiki»?
Википедия стремится предоставить всем нам (энциклопедические) знания о мире бесплатно. Несмотря на то, что сообществу Википедии уже десять лет, оно только начинается, и мы едва увидели верхушку айсберга, но впереди еще много всего. Весь этот замечательный контент пишут добровольцы, используя (казалось бы) простой язык под названием Wikitext (материал, который вы вводите, когда нажимаете на кнопку «Редактировать»). До сегодняшнего дня Wikitext был плохо определен.
Не было ни грамматики, ни определенных правил обработки, ни определенного вывода, такого как дерево DOM, основанного на четко определенной объектной модели документа.Это означает, что содержимое Википедии хранится в формате, который не является открытым стандартом. Формат определяется 5000 строками php-кода (функция синтаксического анализа MediaWiki). Этот код может быть открытым, но для большинства он непонятен. Вот почему есть более 30 неудачных попыток написать альтернативные парсеры. Вот почему один уважаемый давний член сообщества раздраженно спросил: «Может ли кто-нибудь действительно редактировать Википедию?»
Обычный ответ — скрыть сложность Викитекста за визуальным редактором, но это не ответ.Это не работает: визуальный редактор, как и любой другой алгоритм, который хочет работать с содержимым Википедии, нуждается в хорошо понятной спецификации языка, на котором написано содержимое. Здесь на помощь приходит синтаксический анализатор Sweble. передовой опыт информатики, он использует четко определенную грамматику, которую генератор синтаксического анализатора использует для создания синтаксического анализатора. Он использует хорошо понятные объектно-ориентированные шаблоны проектирования (в первую очередь шаблон Visitor) для создания конвейера обработки, который преобразует исходный Wikitext в любой желаемый формат вывода.И, что наиболее важно, он вскоре определяет абстрактное синтаксическое дерево (AST), дерево объектной модели документа (DOM) и работает с этим деревом. Мы прошли долгий путь от 5000 строк php-кода.
Так что же нам дает создание дерева AST и DOM для Wikitext?
Короче говоря, это дает нам возможность взаимодействия и возможность развития.
Об авторе